ccxt 4.5.37 → 4.5.39

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 (497) hide show
  1. package/README.md +5 -7
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -6
  4. package/dist/cjs/src/abstract/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/timex.js +1 -1
  92. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  93. package/dist/cjs/src/abstract/toobit.js +1 -1
  94. package/dist/cjs/src/abstract/upbit.js +1 -1
  95. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  96. package/dist/cjs/src/abstract/whitebit.js +1 -1
  97. package/dist/cjs/src/abstract/woo.js +1 -1
  98. package/dist/cjs/src/abstract/woofipro.js +1 -1
  99. package/dist/cjs/src/abstract/xt.js +1 -1
  100. package/dist/cjs/src/abstract/yobit.js +1 -1
  101. package/dist/cjs/src/abstract/zaif.js +1 -1
  102. package/dist/cjs/src/abstract/zebpay.js +1 -1
  103. package/dist/cjs/src/abstract/zonda.js +1 -1
  104. package/dist/cjs/src/alp.js +1 -1
  105. package/dist/cjs/src/alpaca.js +1 -1
  106. package/dist/cjs/src/apex.js +1 -1
  107. package/dist/cjs/src/arkham.js +1 -1
  108. package/dist/cjs/src/ascendex.js +1 -1
  109. package/dist/cjs/src/aster.js +1 -1
  110. package/dist/cjs/src/backpack.js +1 -1
  111. package/dist/cjs/src/base/Precise.js +0 -6
  112. package/dist/cjs/src/base/errors.js +0 -6
  113. package/dist/cjs/src/base/functions/crypto.js +1 -1
  114. package/dist/cjs/src/base/functions/encode.js +1 -1
  115. package/dist/cjs/src/base/functions/misc.js +0 -1
  116. package/dist/cjs/src/base/functions/number.js +0 -6
  117. package/dist/cjs/src/base/functions/platform.js +0 -6
  118. package/dist/cjs/src/base/functions/rsa.js +0 -1
  119. package/dist/cjs/src/base/functions/string.js +0 -6
  120. package/dist/cjs/src/base/functions/throttle.js +1 -1
  121. package/dist/cjs/src/base/functions/time.js +0 -6
  122. package/dist/cjs/src/base/functions/totp.js +0 -1
  123. package/dist/cjs/src/base/functions/type.js +0 -6
  124. package/dist/cjs/src/base/functions.js +1 -1
  125. package/dist/cjs/src/base/ws/Cache.js +0 -6
  126. package/dist/cjs/src/base/ws/Client.js +0 -1
  127. package/dist/cjs/src/base/ws/Future.js +1 -1
  128. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  129. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  130. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  131. package/dist/cjs/src/bequant.js +1 -1
  132. package/dist/cjs/src/bigone.js +1 -1
  133. package/dist/cjs/src/binance.js +10 -3
  134. package/dist/cjs/src/binancecoinm.js +1 -1
  135. package/dist/cjs/src/binanceus.js +1 -1
  136. package/dist/cjs/src/binanceusdm.js +1 -1
  137. package/dist/cjs/src/bingx.js +1 -1
  138. package/dist/cjs/src/bit2c.js +1 -1
  139. package/dist/cjs/src/bitbank.js +1 -1
  140. package/dist/cjs/src/bitbns.js +1 -1
  141. package/dist/cjs/src/bitfinex.js +1 -1
  142. package/dist/cjs/src/bitflyer.js +1 -1
  143. package/dist/cjs/src/bitget.js +48 -2
  144. package/dist/cjs/src/bithumb.js +1 -1
  145. package/dist/cjs/src/bitmart.js +4 -3
  146. package/dist/cjs/src/bitmex.js +20 -4
  147. package/dist/cjs/src/bitopro.js +1 -1
  148. package/dist/cjs/src/bitrue.js +1 -1
  149. package/dist/cjs/src/bitso.js +1 -1
  150. package/dist/cjs/src/bitstamp.js +273 -43
  151. package/dist/cjs/src/bitteam.js +1 -1
  152. package/dist/cjs/src/bittrade.js +1 -1
  153. package/dist/cjs/src/bitvavo.js +10 -0
  154. package/dist/cjs/src/blockchaincom.js +1 -1
  155. package/dist/cjs/src/blofin.js +1 -1
  156. package/dist/cjs/src/btcbox.js +1 -1
  157. package/dist/cjs/src/btcmarkets.js +2 -2
  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 +2 -2
  161. package/dist/cjs/src/bydfi.js +1 -1
  162. package/dist/cjs/src/cex.js +1 -1
  163. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  164. package/dist/cjs/src/coincatch.js +1 -1
  165. package/dist/cjs/src/coincheck.js +1 -1
  166. package/dist/cjs/src/coinex.js +1 -1
  167. package/dist/cjs/src/coinmate.js +1 -1
  168. package/dist/cjs/src/coinmetro.js +1 -1
  169. package/dist/cjs/src/coinone.js +1 -1
  170. package/dist/cjs/src/coinsph.js +0 -1
  171. package/dist/cjs/src/coinspot.js +78 -8
  172. package/dist/cjs/src/cryptocom.js +1 -1
  173. package/dist/cjs/src/cryptomus.js +1 -1
  174. package/dist/cjs/src/deepcoin.js +1 -1
  175. package/dist/cjs/src/defx.js +1 -1
  176. package/dist/cjs/src/delta.js +1 -1
  177. package/dist/cjs/src/deribit.js +1 -1
  178. package/dist/cjs/src/derive.js +1 -1
  179. package/dist/cjs/src/digifinex.js +1 -1
  180. package/dist/cjs/src/dydx.js +1 -1
  181. package/dist/cjs/src/exmo.js +1 -1
  182. package/dist/cjs/src/fmfwio.js +1 -1
  183. package/dist/cjs/src/foxbit.js +1 -1
  184. package/dist/cjs/src/gate.js +5 -3
  185. package/dist/cjs/src/gateio.js +1 -1
  186. package/dist/cjs/src/gemini.js +1 -1
  187. package/dist/cjs/src/hashkey.js +1 -1
  188. package/dist/cjs/src/hibachi.js +1 -1
  189. package/dist/cjs/src/hitbtc.js +0 -1
  190. package/dist/cjs/src/hollaex.js +1 -1
  191. package/dist/cjs/src/htx.js +1 -1
  192. package/dist/cjs/src/huobi.js +1 -1
  193. package/dist/cjs/src/hyperliquid.js +43 -10
  194. package/dist/cjs/src/independentreserve.js +1 -1
  195. package/dist/cjs/src/indodax.js +1 -1
  196. package/dist/cjs/src/kraken.js +1 -1
  197. package/dist/cjs/src/krakenfutures.js +74 -2
  198. package/dist/cjs/src/kucoin.js +1 -1
  199. package/dist/cjs/src/kucoinfutures.js +1 -1
  200. package/dist/cjs/src/latoken.js +1 -1
  201. package/dist/cjs/src/lbank.js +1 -1
  202. package/dist/cjs/src/luno.js +1 -1
  203. package/dist/cjs/src/mercado.js +1 -1
  204. package/dist/cjs/src/mexc.js +1 -1
  205. package/dist/cjs/src/modetrade.js +1 -1
  206. package/dist/cjs/src/myokx.js +1 -1
  207. package/dist/cjs/src/ndax.js +1 -1
  208. package/dist/cjs/src/novadax.js +1 -1
  209. package/dist/cjs/src/okx.js +1 -1
  210. package/dist/cjs/src/okxus.js +1 -1
  211. package/dist/cjs/src/onetrading.js +1 -1
  212. package/dist/cjs/src/oxfun.js +1 -1
  213. package/dist/cjs/src/p2b.js +1 -1
  214. package/dist/cjs/src/paradex.js +1 -1
  215. package/dist/cjs/src/paymium.js +1 -1
  216. package/dist/cjs/src/poloniex.js +1 -1
  217. package/dist/cjs/src/pro/alpaca.js +1 -1
  218. package/dist/cjs/src/pro/apex.js +1 -1
  219. package/dist/cjs/src/pro/arkham.js +1 -1
  220. package/dist/cjs/src/pro/ascendex.js +1 -1
  221. package/dist/cjs/src/pro/aster.js +12 -3
  222. package/dist/cjs/src/pro/backpack.js +1 -1
  223. package/dist/cjs/src/pro/bequant.js +1 -1
  224. package/dist/cjs/src/pro/binance.js +115 -28
  225. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  226. package/dist/cjs/src/pro/binanceus.js +1 -1
  227. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  228. package/dist/cjs/src/pro/bingx.js +1 -1
  229. package/dist/cjs/src/pro/bitfinex.js +1 -1
  230. package/dist/cjs/src/pro/bitget.js +1 -1
  231. package/dist/cjs/src/pro/bithumb.js +1 -1
  232. package/dist/cjs/src/pro/bitmart.js +1 -1
  233. package/dist/cjs/src/pro/bitmex.js +3 -2
  234. package/dist/cjs/src/pro/bitrue.js +1 -1
  235. package/dist/cjs/src/pro/bitstamp.js +1 -1
  236. package/dist/cjs/src/pro/bitvavo.js +1 -1
  237. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  238. package/dist/cjs/src/pro/blofin.js +1 -1
  239. package/dist/cjs/src/pro/bullish.js +1 -1
  240. package/dist/cjs/src/pro/bybit.js +7 -5
  241. package/dist/cjs/src/pro/bydfi.js +1 -1
  242. package/dist/cjs/src/pro/cex.js +1 -1
  243. package/dist/cjs/src/pro/coinbase.js +1 -1
  244. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  245. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  246. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  247. package/dist/cjs/src/pro/coincatch.js +1 -1
  248. package/dist/cjs/src/pro/coincheck.js +1 -1
  249. package/dist/cjs/src/pro/coinex.js +1 -1
  250. package/dist/cjs/src/pro/coinone.js +1 -1
  251. package/dist/cjs/src/pro/cryptocom.js +1 -1
  252. package/dist/cjs/src/pro/deepcoin.js +1 -1
  253. package/dist/cjs/src/pro/defx.js +1 -1
  254. package/dist/cjs/src/pro/deribit.js +1 -1
  255. package/dist/cjs/src/pro/dydx.js +1 -1
  256. package/dist/cjs/src/pro/exmo.js +1 -1
  257. package/dist/cjs/src/pro/gate.js +3 -2
  258. package/dist/cjs/src/pro/gateio.js +1 -1
  259. package/dist/cjs/src/pro/gemini.js +1 -1
  260. package/dist/cjs/src/pro/hashkey.js +1 -1
  261. package/dist/cjs/src/pro/hitbtc.js +1 -1
  262. package/dist/cjs/src/pro/hollaex.js +1 -1
  263. package/dist/cjs/src/pro/htx.js +1 -1
  264. package/dist/cjs/src/pro/huobi.js +1 -1
  265. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  266. package/dist/cjs/src/pro/independentreserve.js +1 -1
  267. package/dist/cjs/src/pro/kraken.js +1 -1
  268. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  269. package/dist/cjs/src/pro/kucoin.js +1 -1
  270. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  271. package/dist/cjs/src/pro/lbank.js +0 -1
  272. package/dist/cjs/src/pro/luno.js +1 -1
  273. package/dist/cjs/src/pro/mexc.js +1 -1
  274. package/dist/cjs/src/pro/myokx.js +1 -1
  275. package/dist/cjs/src/pro/ndax.js +1 -1
  276. package/dist/cjs/src/pro/okx.js +6 -4
  277. package/dist/cjs/src/pro/okxus.js +1 -1
  278. package/dist/cjs/src/pro/onetrading.js +1 -1
  279. package/dist/cjs/src/pro/oxfun.js +1 -1
  280. package/dist/cjs/src/pro/p2b.js +1 -1
  281. package/dist/cjs/src/pro/paradex.js +1 -1
  282. package/dist/cjs/src/pro/phemex.js +1 -1
  283. package/dist/cjs/src/pro/poloniex.js +1 -1
  284. package/dist/cjs/src/pro/toobit.js +1 -1
  285. package/dist/cjs/src/pro/upbit.js +1 -1
  286. package/dist/cjs/src/pro/whitebit.js +1 -1
  287. package/dist/cjs/src/pro/xt.js +1 -1
  288. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  289. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  290. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  291. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  292. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  306. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  307. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  308. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  309. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  311. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  313. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  315. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  316. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  317. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  318. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  319. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  320. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  321. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  322. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  323. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  324. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  325. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  326. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  327. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  328. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  329. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  330. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  331. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  332. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  333. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  334. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  335. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  336. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  337. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  338. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  339. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  345. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  346. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  347. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  348. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  349. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  350. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  351. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  352. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  353. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  354. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  355. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  356. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  357. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  358. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  359. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  360. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  361. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  362. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  363. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  364. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  365. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  366. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  367. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +0 -1
  368. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +0 -1
  369. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  370. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  371. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  372. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  373. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  374. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  375. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  376. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  377. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  378. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  379. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  380. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  381. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  382. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  383. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  384. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  385. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  386. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  387. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  388. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  389. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  390. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  391. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  392. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  393. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  394. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  395. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  396. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +19 -1
  397. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
  398. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  399. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  400. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  401. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  402. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  403. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  404. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  405. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  406. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  407. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  408. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  409. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  410. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  411. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  412. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  413. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  414. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  415. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  416. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  417. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  418. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  419. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  420. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  421. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  422. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  423. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  424. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  425. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  426. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  427. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  428. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  429. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  430. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  431. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  432. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  433. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  434. package/dist/cjs/src/timex.js +0 -1
  435. package/dist/cjs/src/tokocrypto.js +24 -1
  436. package/dist/cjs/src/toobit.js +21 -1
  437. package/dist/cjs/src/upbit.js +1 -1
  438. package/dist/cjs/src/wavesexchange.js +1 -1
  439. package/dist/cjs/src/whitebit.js +25 -14
  440. package/dist/cjs/src/woo.js +1 -1
  441. package/dist/cjs/src/woofipro.js +1 -1
  442. package/dist/cjs/src/xt.js +1 -1
  443. package/dist/cjs/src/yobit.js +1 -1
  444. package/dist/cjs/src/zaif.js +1 -1
  445. package/dist/cjs/src/zebpay.js +1 -1
  446. package/dist/cjs/src/zonda.js +1 -1
  447. package/js/ccxt.d.ts +2 -8
  448. package/js/ccxt.js +2 -6
  449. package/js/src/abstract/binance.d.ts +5 -0
  450. package/js/src/abstract/binancecoinm.d.ts +5 -0
  451. package/js/src/abstract/binanceus.d.ts +5 -0
  452. package/js/src/abstract/binanceusdm.d.ts +5 -0
  453. package/js/src/abstract/bitget.d.ts +47 -1
  454. package/js/src/abstract/bitstamp.d.ts +8 -0
  455. package/js/src/abstract/bitvavo.d.ts +10 -0
  456. package/js/src/abstract/coinspot.d.ts +45 -0
  457. package/js/src/base/Exchange.d.ts +2 -2
  458. package/js/src/binance.js +9 -2
  459. package/js/src/bitget.js +47 -1
  460. package/js/src/bitmart.js +3 -2
  461. package/js/src/bitmex.js +19 -3
  462. package/js/src/bitstamp.d.ts +52 -1
  463. package/js/src/bitstamp.js +272 -42
  464. package/js/src/bitvavo.js +10 -0
  465. package/js/src/btcmarkets.js +1 -1
  466. package/js/src/bybit.js +1 -1
  467. package/js/src/coinbaseexchange.d.ts +1 -1
  468. package/js/src/coinspot.js +77 -7
  469. package/js/src/gate.js +4 -2
  470. package/js/src/hyperliquid.js +42 -9
  471. package/js/src/krakenfutures.js +73 -1
  472. package/js/src/pro/aster.js +11 -2
  473. package/js/src/pro/binance.d.ts +13 -0
  474. package/js/src/pro/binance.js +115 -28
  475. package/js/src/pro/bitmex.js +2 -1
  476. package/js/src/pro/bybit.d.ts +1 -1
  477. package/js/src/pro/bybit.js +6 -4
  478. package/js/src/pro/gate.js +2 -1
  479. package/js/src/pro/okx.js +5 -3
  480. package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
  481. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  482. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +0 -1
  483. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  484. package/js/src/tokocrypto.js +23 -0
  485. package/js/src/toobit.js +20 -0
  486. package/js/src/whitebit.d.ts +1 -0
  487. package/js/src/whitebit.js +21 -11
  488. package/package.json +1 -1
  489. package/dist/cjs/src/abstract/probit.js +0 -11
  490. package/dist/cjs/src/pro/probit.js +0 -594
  491. package/dist/cjs/src/probit.js +0 -1936
  492. package/js/src/abstract/probit.d.ts +0 -26
  493. package/js/src/abstract/probit.js +0 -5
  494. package/js/src/pro/probit.d.ts +0 -91
  495. package/js/src/pro/probit.js +0 -587
  496. package/js/src/probit.d.ts +0 -283
  497. package/js/src/probit.js +0 -1929
@@ -10,7 +10,7 @@ var md5 = require('./static_dependencies/noble-hashes/md5.js');
10
10
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
11
11
  var rsa = require('./base/functions/rsa.js');
12
12
 
13
- // ----------------------------------------------------------------------------
13
+ // ---------------------------------------------------------------------------
14
14
  // ---------------------------------------------------------------------------
15
15
  /**
16
16
  * @class lbank
@@ -7,7 +7,7 @@ var errors = require('./base/errors.js');
7
7
  var Precise = require('./base/Precise.js');
8
8
  var number = require('./base/functions/number.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  /**
13
13
  * @class luno
@@ -8,7 +8,7 @@ var number = require('./base/functions/number.js');
8
8
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
9
9
  var Precise = require('./base/Precise.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class mercado
@@ -8,7 +8,7 @@ var number = require('./base/functions/number.js');
8
8
  var Precise = require('./base/Precise.js');
9
9
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class mexc
@@ -11,7 +11,7 @@ var ed25519 = require('./static_dependencies/noble-curves/ed25519.js');
11
11
  var sha3 = require('./static_dependencies/noble-hashes/sha3.js');
12
12
  var secp256k1 = require('./static_dependencies/noble-curves/secp256k1.js');
13
13
 
14
- // ----------------------------------------------------------------------------
14
+ // ---------------------------------------------------------------------------
15
15
  // ---------------------------------------------------------------------------
16
16
  /**
17
17
  * @class modetrade
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var okx = require('./okx.js');
6
6
 
7
- // ----------------------------------------------------------------------------
7
+ // ---------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class myokx extends okx["default"] {
10
10
  describe() {
@@ -9,7 +9,7 @@ var Precise = require('./base/Precise.js');
9
9
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
10
10
  var totp = require('./base/functions/totp.js');
11
11
 
12
- // ----------------------------------------------------------------------------
12
+ // ---------------------------------------------------------------------------
13
13
  // ---------------------------------------------------------------------------
14
14
  /**
15
15
  * @class ndax
@@ -9,7 +9,7 @@ var number = require('./base/functions/number.js');
9
9
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
10
10
  var md5 = require('./static_dependencies/noble-hashes/md5.js');
11
11
 
12
- // ----------------------------------------------------------------------------
12
+ // ---------------------------------------------------------------------------
13
13
  // ---------------------------------------------------------------------------
14
14
  /**
15
15
  * @class novadax
@@ -8,7 +8,7 @@ var Precise = require('./base/Precise.js');
8
8
  var number = require('./base/functions/number.js');
9
9
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class okx
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var okx = require('./okx.js');
6
6
 
7
- // ----------------------------------------------------------------------------
7
+ // ---------------------------------------------------------------------------
8
8
  // ---------------------------------------------------------------------------
9
9
  class okxus extends okx["default"] {
10
10
  describe() {
@@ -7,7 +7,7 @@ var errors = require('./base/errors.js');
7
7
  var Precise = require('./base/Precise.js');
8
8
  var number = require('./base/functions/number.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  /**
13
13
  * @class onetrading
@@ -7,7 +7,7 @@ var errors = require('./base/errors.js');
7
7
  var number = require('./base/functions/number.js');
8
8
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  /**
13
13
  * @class oxfun
@@ -7,7 +7,7 @@ var errors = require('./base/errors.js');
7
7
  var number = require('./base/functions/number.js');
8
8
  var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  /**
13
13
  * @class p2b
@@ -10,7 +10,7 @@ var crypto = require('./base/functions/crypto.js');
10
10
  var sha3 = require('./static_dependencies/noble-hashes/sha3.js');
11
11
  var secp256k1 = require('./static_dependencies/noble-curves/secp256k1.js');
12
12
 
13
- // ----------------------------------------------------------------------------
13
+ // ---------------------------------------------------------------------------
14
14
  // ---------------------------------------------------------------------------
15
15
  /**
16
16
  * @class paradex
@@ -8,7 +8,7 @@ var Precise = require('./base/Precise.js');
8
8
  var number = require('./base/functions/number.js');
9
9
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class paymium
@@ -8,7 +8,7 @@ var Precise = require('./base/Precise.js');
8
8
  var number = require('./base/functions/number.js');
9
9
  var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class poloniex
@@ -6,7 +6,7 @@ var alpaca$1 = require('../alpaca.js');
6
6
  var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
- // ----------------------------------------------------------------------------
9
+ // ---------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class alpaca extends alpaca$1["default"] {
12
12
  describe() {
@@ -7,7 +7,7 @@ var Cache = require('../base/ws/Cache.js');
7
7
  var errors = require('../base/errors.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class apex extends apex$1["default"] {
13
13
  describe() {
@@ -7,7 +7,7 @@ var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var errors = require('../base/errors.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class arkham extends arkham$1["default"] {
13
13
  describe() {
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class ascendex extends ascendex$1["default"] {
13
13
  describe() {
@@ -7,7 +7,7 @@ var Precise = require('../base/Precise.js');
7
7
  var errors = require('../base/errors.js');
8
8
  var Cache = require('../base/ws/Cache.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class aster extends aster$1["default"] {
13
13
  describe() {
@@ -778,10 +778,19 @@ class aster extends aster$1["default"] {
778
778
  // "ss": 0
779
779
  // }
780
780
  //
781
+ const e = this.safeString(trade, 'e');
782
+ const isPublicTrade = (e === 'trade') || (e === 'aggTrade');
781
783
  const id = this.safeString2(trade, 't', 'a');
782
784
  const timestamp = this.safeInteger(trade, 'T');
783
785
  const price = this.safeString2(trade, 'L', 'p');
784
- const amount = this.safeString2(trade, 'q', 'l');
786
+ let amount = undefined;
787
+ if (isPublicTrade) {
788
+ amount = this.safeString(trade, 'q');
789
+ }
790
+ else {
791
+ // private trades, amount is in 'l' field, quantity of the last filled trade
792
+ amount = this.safeString(trade, 'l');
793
+ }
785
794
  let cost = this.safeString(trade, 'Y');
786
795
  if (cost === undefined) {
787
796
  if ((price !== undefined) && (amount !== undefined)) {
@@ -1711,7 +1720,7 @@ class aster extends aster$1["default"] {
1711
1720
  const myTrades = this.myTrades;
1712
1721
  myTrades.append(trade);
1713
1722
  client.resolve(this.myTrades, messageHash);
1714
- const messageHashSymbol = messageHash + ':' + symbol;
1723
+ const messageHashSymbol = messageHash + '::' + symbol;
1715
1724
  client.resolve(this.myTrades, messageHashSymbol);
1716
1725
  }
1717
1726
  }
@@ -8,7 +8,7 @@ var Cache = require('../base/ws/Cache.js');
8
8
  var crypto = require('../base/functions/crypto.js');
9
9
  var ed25519 = require('../static_dependencies/noble-curves/ed25519.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  class backpack extends backpack$1["default"] {
14
14
  describe() {
@@ -6,7 +6,7 @@ var hitbtc = require('./hitbtc.js');
6
6
  var hitbtc$1 = require('../hitbtc.js');
7
7
  var bequant$1 = require('../bequant.js');
8
8
 
9
- // ----------------------------------------------------------------------------
9
+ // ---------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class bequant extends hitbtc["default"] {
12
12
  describe() {
@@ -352,7 +352,8 @@ class binance extends binance$1["default"] {
352
352
  const symbol = market['symbol'];
353
353
  const liquidation = this.parseWsLiquidation(rawLiquidation, market);
354
354
  if (this.liquidations === undefined) {
355
- this.liquidations = new Cache.ArrayCacheBySymbolBySide();
355
+ const limit = this.safeInteger(this.options, 'liquidationsLimit', 1000);
356
+ this.liquidations = new Cache.ArrayCache(limit);
356
357
  }
357
358
  const cache = this.liquidations;
358
359
  cache.append(liquidation);
@@ -562,7 +563,8 @@ class binance extends binance$1["default"] {
562
563
  const liquidation = this.parseWsLiquidation(message, market);
563
564
  let cache = this.myLiquidations;
564
565
  if (cache === undefined) {
565
- cache = new Cache.ArrayCacheBySymbolBySide();
566
+ const limit = this.safeInteger(this.options, 'myLiquidationsLimit', 1000);
567
+ cache = new Cache.ArrayCache(limit);
566
568
  }
567
569
  cache.append(liquidation);
568
570
  this.myLiquidations = cache;
@@ -2419,6 +2421,94 @@ class binance extends binance$1["default"] {
2419
2421
  }
2420
2422
  client.resolve(message, messageHash);
2421
2423
  }
2424
+ /**
2425
+ * @name binance#ensureUserDataStreamWsSubscribeListenToken
2426
+ * @description subscribes to user data stream using listenToken (for margin)
2427
+ * @param {string} marketType - the market type (e.g., 'margin')
2428
+ * @param {object} params - extra parameters specific to the request
2429
+ * @param {string} [params.symbol] - required for isolated margin
2430
+ * @param {boolean} [params.isIsolated] - whether it is isolated margin
2431
+ * @param {number} [params.validity] - validity in milliseconds, default 24 hours, max 24 hours
2432
+ * @see {@link https://developers.binance.com/docs/derivatives/usds-margined-futures/websocket-api/user-data-stream Binance User Data Stream Documentation}
2433
+ * @returns Promise<void>
2434
+ */
2435
+ async ensureUserDataStreamWsSubscribeListenToken(marketType = 'margin', params = {}) {
2436
+ const url = this.urls['api']['ws']['ws-api']['spot'];
2437
+ const options = this.safeDict(this.options, marketType, {});
2438
+ const lastAuthenticatedTime = this.safeInteger(options, 'lastAuthenticatedTime', 0);
2439
+ const listenTokenRefreshRate = this.safeInteger(this.options, 'listenTokenRefreshRate', 82800000); // 23 hours default
2440
+ const time = this.milliseconds();
2441
+ const delay = this.sum(listenTokenRefreshRate, 10000);
2442
+ if (time - lastAuthenticatedTime > delay) {
2443
+ // Step 1: Create listenToken via REST API
2444
+ const symbol = this.safeString(params, 'symbol');
2445
+ const isIsolated = this.safeBool(params, 'isIsolated', false);
2446
+ const validity = this.safeInteger(params, 'validity');
2447
+ const request = {};
2448
+ if (isIsolated) {
2449
+ if (symbol === undefined) {
2450
+ throw new errors.ArgumentsRequired(this.id + ' ensureUserDataStreamWsSubscribeListenToken() requires a symbol argument for isolated margin mode');
2451
+ }
2452
+ const marketId = this.marketId(symbol);
2453
+ request['symbol'] = marketId;
2454
+ request['isIsolated'] = true;
2455
+ }
2456
+ if (validity !== undefined) {
2457
+ request['validity'] = validity;
2458
+ }
2459
+ const response = await this.sapiPostUserListenToken(request);
2460
+ const listenToken = this.safeString(response, 'token');
2461
+ const expirationTime = this.safeInteger(response, 'expirationTime');
2462
+ // Step 2: Subscribe to user data stream via WebSocket API
2463
+ const requestId = this.requestId(url);
2464
+ const messageHash = requestId.toString();
2465
+ const message = {
2466
+ 'id': messageHash,
2467
+ 'method': 'userDataStream.subscribe.listenToken',
2468
+ 'params': {
2469
+ 'listenToken': listenToken,
2470
+ },
2471
+ };
2472
+ const subscription = {
2473
+ 'id': messageHash,
2474
+ 'method': this.handleUserDataStreamSubscribe,
2475
+ 'subscription': marketType,
2476
+ };
2477
+ this.options[marketType] = this.extend(options, {
2478
+ 'listenToken': listenToken,
2479
+ 'expirationTime': expirationTime,
2480
+ 'lastAuthenticatedTime': time,
2481
+ 'symbol': symbol,
2482
+ 'isIsolated': isIsolated,
2483
+ 'validity': validity,
2484
+ });
2485
+ // Schedule token renewal before expiration
2486
+ const renewalTime = expirationTime - time - 60000; // Renew 1 minute before expiration
2487
+ if (renewalTime > 0) {
2488
+ const extendedParams = this.extend(params, { 'type': marketType });
2489
+ this.delay(renewalTime, this.renewListenToken, extendedParams);
2490
+ }
2491
+ await this.watch(url, messageHash, message, messageHash, subscription);
2492
+ }
2493
+ }
2494
+ async renewListenToken(params = {}) {
2495
+ const type = this.safeString(params, 'type', 'margin');
2496
+ const options = this.safeDict(this.options, type, {});
2497
+ const symbol = this.safeString(options, 'symbol');
2498
+ const isIsolated = this.safeBool(options, 'isIsolated', false);
2499
+ const validity = this.safeInteger(options, 'validity');
2500
+ const renewParams = {};
2501
+ if (symbol !== undefined) {
2502
+ renewParams['symbol'] = symbol;
2503
+ }
2504
+ if (isIsolated) {
2505
+ renewParams['isIsolated'] = isIsolated;
2506
+ }
2507
+ if (validity !== undefined) {
2508
+ renewParams['validity'] = validity;
2509
+ }
2510
+ await this.ensureUserDataStreamWsSubscribeListenToken(type, renewParams);
2511
+ }
2422
2512
  async authenticate(params = {}) {
2423
2513
  const time = this.milliseconds();
2424
2514
  let type = undefined;
@@ -2441,8 +2531,19 @@ class binance extends binance$1["default"] {
2441
2531
  let marginMode = undefined;
2442
2532
  [marginMode, params] = this.handleMarginModeAndParams('authenticate', params);
2443
2533
  const isIsolatedMargin = (marginMode === 'isolated');
2444
- const isCrossMargin = (marginMode === 'cross') || (marginMode === undefined);
2445
2534
  const symbol = this.safeString(params, 'symbol');
2535
+ // For margin use WebSocket API listenToken subscription
2536
+ if (type === 'margin' || isIsolatedMargin) {
2537
+ const marginParams = {};
2538
+ if (symbol !== undefined) {
2539
+ marginParams['symbol'] = symbol;
2540
+ }
2541
+ if (isIsolatedMargin) {
2542
+ marginParams['isIsolated'] = true;
2543
+ }
2544
+ await this.ensureUserDataStreamWsSubscribeListenToken('margin', marginParams);
2545
+ return;
2546
+ }
2446
2547
  params = this.omit(params, 'symbol');
2447
2548
  const options = this.safeValue(this.options, type, {});
2448
2549
  const lastAuthenticatedTime = this.safeInteger(options, 'lastAuthenticatedTime', 0);
@@ -2460,17 +2561,6 @@ class binance extends binance$1["default"] {
2460
2561
  else if (type === 'delivery') {
2461
2562
  response = await this.dapiPrivatePostListenKey(params);
2462
2563
  }
2463
- else if (type === 'margin' && isCrossMargin) {
2464
- response = await this.sapiPostUserDataStream(params);
2465
- }
2466
- else if (isIsolatedMargin) {
2467
- if (symbol === undefined) {
2468
- throw new errors.ArgumentsRequired(this.id + ' authenticate() requires a symbol argument for isolated margin mode');
2469
- }
2470
- const marketId = this.marketId(symbol);
2471
- params = this.extend(params, { 'symbol': marketId });
2472
- response = await this.sapiPostUserDataStreamIsolated(params);
2473
- }
2474
2564
  else {
2475
2565
  response = await this.publicPostUserDataStream(params);
2476
2566
  }
@@ -2495,6 +2585,10 @@ class binance extends binance$1["default"] {
2495
2585
  else if (this.isInverse(type, subType)) {
2496
2586
  type = 'delivery';
2497
2587
  }
2588
+ // For margin, token renewal is handled by renewListenToken method
2589
+ if (type === 'margin') {
2590
+ return;
2591
+ }
2498
2592
  const options = this.safeValue(this.options, type, {});
2499
2593
  const listenKey = this.safeString(options, 'listenKey');
2500
2594
  if (listenKey === undefined) {
@@ -2502,7 +2596,6 @@ class binance extends binance$1["default"] {
2502
2596
  return;
2503
2597
  }
2504
2598
  const request = {};
2505
- const symbol = this.safeString(params, 'symbol');
2506
2599
  params = this.omit(params, ['type', 'symbol']);
2507
2600
  const time = this.milliseconds();
2508
2601
  try {
@@ -2518,13 +2611,7 @@ class binance extends binance$1["default"] {
2518
2611
  }
2519
2612
  else {
2520
2613
  request['listenKey'] = listenKey;
2521
- if (type === 'margin') {
2522
- request['symbol'] = symbol;
2523
- await this.sapiPutUserDataStream(this.extend(request, params));
2524
- }
2525
- else {
2526
- await this.publicPutUserDataStream(this.extend(request, params));
2527
- }
2614
+ await this.publicPutUserDataStream(this.extend(request, params));
2528
2615
  }
2529
2616
  }
2530
2617
  catch (error) {
@@ -2838,9 +2925,9 @@ class binance extends binance$1["default"] {
2838
2925
  }
2839
2926
  let url = '';
2840
2927
  let urlType = type;
2841
- if (type === 'spot') {
2928
+ if (type === 'spot' || type === 'margin') {
2842
2929
  // route to WebSocket API connection where the user data stream is subscribed
2843
- url = this.urls['api']['ws']['ws-api'][type];
2930
+ url = this.urls['api']['ws']['ws-api']['spot'];
2844
2931
  }
2845
2932
  else {
2846
2933
  if (isPortfolioMargin) {
@@ -3623,9 +3710,9 @@ class binance extends binance$1["default"] {
3623
3710
  let isPortfolioMargin = undefined;
3624
3711
  [isPortfolioMargin, params] = this.handleOptionAndParams2(params, 'watchOrders', 'papi', 'portfolioMargin', false);
3625
3712
  let url = '';
3626
- if (type === 'spot') {
3713
+ if (type === 'spot' || type === 'margin') {
3627
3714
  // route orders to ws-api user data stream
3628
- url = this.urls['api']['ws']['ws-api'][type];
3715
+ url = this.urls['api']['ws']['ws-api']['spot'];
3629
3716
  }
3630
3717
  else {
3631
3718
  if (isPortfolioMargin) {
@@ -4357,8 +4444,8 @@ class binance extends binance$1["default"] {
4357
4444
  let isPortfolioMargin = undefined;
4358
4445
  [isPortfolioMargin, params] = this.handleOptionAndParams2(params, 'watchMyTrades', 'papi', 'portfolioMargin', false);
4359
4446
  let url = '';
4360
- if (type === 'spot') {
4361
- url = this.urls['api']['ws']['ws-api'][type];
4447
+ if (type === 'spot' || type === 'margin') {
4448
+ url = this.urls['api']['ws']['ws-api']['spot'];
4362
4449
  }
4363
4450
  else {
4364
4451
  if (isPortfolioMargin) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var binance = require('./binance.js');
6
6
  var binancecoinm$1 = require('../binancecoinm.js');
7
7
 
8
- // ----------------------------------------------------------------------------
8
+ // ---------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class binancecoinm extends binance["default"] {
11
11
  describe() {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var binance = require('./binance.js');
6
6
  var binanceus$1 = require('../binanceus.js');
7
7
 
8
- // ----------------------------------------------------------------------------
8
+ // ---------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class binanceus extends binance["default"] {
11
11
  describe() {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var binance = require('./binance.js');
6
6
  var errors = require('../base/errors.js');
7
7
 
8
- // ----------------------------------------------------------------------------
8
+ // ---------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class binanceusdm extends binance["default"] {
11
11
  describe() {
@@ -6,7 +6,7 @@ var bingx$1 = require('../bingx.js');
6
6
  var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
- // ----------------------------------------------------------------------------
9
+ // ---------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class bingx extends bingx$1["default"] {
12
12
  describe() {
@@ -8,7 +8,7 @@ var errors = require('../base/errors.js');
8
8
  var Cache = require('../base/ws/Cache.js');
9
9
  var sha512 = require('../static_dependencies/noble-hashes/sha512.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  class bitfinex extends bitfinex$1["default"] {
14
14
  describe() {
@@ -8,7 +8,7 @@ var Precise = require('../base/Precise.js');
8
8
  var Cache = require('../base/ws/Cache.js');
9
9
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  /**
14
14
  * @class bitget
@@ -8,7 +8,7 @@ var errors = require('../base/errors.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
  var rsa = require('../base/functions/rsa.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  class bithumb extends bithumb$1["default"] {
14
14
  describe() {
@@ -8,7 +8,7 @@ var Cache = require('../base/ws/Cache.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
  var OrderBookSide = require('../base/ws/OrderBookSide.js');
10
10
 
11
- // ----------------------------------------------------------------------------
11
+ // ---------------------------------------------------------------------------
12
12
  // ---------------------------------------------------------------------------
13
13
  class bitmart extends bitmart$1["default"] {
14
14
  describe() {
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class bitmex extends bitmex$1["default"] {
13
13
  describe() {
@@ -440,7 +440,8 @@ class bitmex extends bitmex$1["default"] {
440
440
  const rawLiquidations = this.safeValue(message, 'data', []);
441
441
  const newLiquidations = [];
442
442
  if (this.liquidations === undefined) {
443
- this.liquidations = new Cache.ArrayCacheBySymbolBySide();
443
+ const limit = this.safeInteger(this.options, 'liquidationsLimit', 1000);
444
+ this.liquidations = new Cache.ArrayCache(limit);
444
445
  }
445
446
  const cache = this.liquidations;
446
447
  for (let i = 0; i < rawLiquidations.length; i++) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var bitrue$1 = require('../bitrue.js');
6
6
  var Cache = require('../base/ws/Cache.js');
7
7
 
8
- // ----------------------------------------------------------------------------
8
+ // ---------------------------------------------------------------------------
9
9
  // ---------------------------------------------------------------------------
10
10
  class bitrue extends bitrue$1["default"] {
11
11
  describe() {
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var Precise = require('../base/Precise.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class bitstamp extends bitstamp$1["default"] {
13
13
  describe() {
@@ -7,7 +7,7 @@ var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
  var sha256 = require('../static_dependencies/noble-hashes/sha256.js');
9
9
 
10
- // ----------------------------------------------------------------------------
10
+ // ---------------------------------------------------------------------------
11
11
  // ---------------------------------------------------------------------------
12
12
  class bitvavo extends bitvavo$1["default"] {
13
13
  describe() {
@@ -6,7 +6,7 @@ var blockchaincom$1 = require('../blockchaincom.js');
6
6
  var errors = require('../base/errors.js');
7
7
  var Cache = require('../base/ws/Cache.js');
8
8
 
9
- // ----------------------------------------------------------------------------
9
+ // ---------------------------------------------------------------------------
10
10
  // ---------------------------------------------------------------------------
11
11
  class blockchaincom extends blockchaincom$1["default"] {
12
12
  describe() {