ccxt 4.5.4 → 4.5.6

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 (930) hide show
  1. package/README.md +7 -6
  2. package/dist/ccxt.browser.min.js +15 -15
  3. package/dist/cjs/ccxt.js +11 -6
  4. package/dist/cjs/src/abstract/alpaca.js +1 -1
  5. package/dist/cjs/src/abstract/apex.js +1 -1
  6. package/dist/cjs/src/abstract/ascendex.js +1 -1
  7. package/dist/cjs/src/abstract/backpack.js +11 -0
  8. package/dist/cjs/src/abstract/bigone.js +1 -1
  9. package/dist/cjs/src/abstract/binance.js +1 -1
  10. package/dist/cjs/src/abstract/bingx.js +1 -1
  11. package/dist/cjs/src/abstract/bit2c.js +1 -1
  12. package/dist/cjs/src/abstract/bitbank.js +1 -1
  13. package/dist/cjs/src/abstract/bitbns.js +1 -1
  14. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  15. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  16. package/dist/cjs/src/abstract/bitget.js +1 -1
  17. package/dist/cjs/src/abstract/bithumb.js +1 -1
  18. package/dist/cjs/src/abstract/bitmart.js +1 -1
  19. package/dist/cjs/src/abstract/bitmex.js +1 -1
  20. package/dist/cjs/src/abstract/bitopro.js +1 -1
  21. package/dist/cjs/src/abstract/bitrue.js +1 -1
  22. package/dist/cjs/src/abstract/bitso.js +1 -1
  23. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  24. package/dist/cjs/src/abstract/bitteam.js +1 -1
  25. package/dist/cjs/src/abstract/bittrade.js +1 -1
  26. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  27. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  28. package/dist/cjs/src/abstract/blofin.js +1 -1
  29. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  30. package/dist/cjs/src/abstract/btcbox.js +1 -1
  31. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  32. package/dist/cjs/src/abstract/btcturk.js +1 -1
  33. package/dist/cjs/src/abstract/bybit.js +1 -1
  34. package/dist/cjs/src/abstract/cex.js +1 -1
  35. package/dist/cjs/src/abstract/coinbase.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  37. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  38. package/dist/cjs/src/abstract/coincatch.js +1 -1
  39. package/dist/cjs/src/abstract/coincheck.js +1 -1
  40. package/dist/cjs/src/abstract/coinex.js +1 -1
  41. package/dist/cjs/src/abstract/coinmate.js +1 -1
  42. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  43. package/dist/cjs/src/abstract/coinone.js +1 -1
  44. package/dist/cjs/src/abstract/coinsph.js +1 -1
  45. package/dist/cjs/src/abstract/coinspot.js +1 -1
  46. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  47. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  48. package/dist/cjs/src/abstract/defx.js +1 -1
  49. package/dist/cjs/src/abstract/delta.js +1 -1
  50. package/dist/cjs/src/abstract/deribit.js +1 -1
  51. package/dist/cjs/src/abstract/derive.js +1 -1
  52. package/dist/cjs/src/abstract/digifinex.js +1 -1
  53. package/dist/cjs/src/abstract/exmo.js +1 -1
  54. package/dist/cjs/src/abstract/foxbit.js +1 -1
  55. package/dist/cjs/src/abstract/gate.js +1 -1
  56. package/dist/cjs/src/abstract/gemini.js +1 -1
  57. package/dist/cjs/src/abstract/hashkey.js +1 -1
  58. package/dist/cjs/src/abstract/hibachi.js +1 -1
  59. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  60. package/dist/cjs/src/abstract/hollaex.js +1 -1
  61. package/dist/cjs/src/abstract/htx.js +1 -1
  62. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  63. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  64. package/dist/cjs/src/abstract/indodax.js +1 -1
  65. package/dist/cjs/src/abstract/kraken.js +1 -1
  66. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  67. package/dist/cjs/src/abstract/kucoin.js +1 -1
  68. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  69. package/dist/cjs/src/abstract/latoken.js +1 -1
  70. package/dist/cjs/src/abstract/lbank.js +1 -1
  71. package/dist/cjs/src/abstract/luno.js +1 -1
  72. package/dist/cjs/src/abstract/mercado.js +1 -1
  73. package/dist/cjs/src/abstract/mexc.js +1 -1
  74. package/dist/cjs/src/abstract/modetrade.js +1 -1
  75. package/dist/cjs/src/abstract/ndax.js +1 -1
  76. package/dist/cjs/src/abstract/novadax.js +1 -1
  77. package/dist/cjs/src/abstract/oceanex.js +1 -1
  78. package/dist/cjs/src/abstract/okcoin.js +1 -1
  79. package/dist/cjs/src/abstract/okx.js +1 -1
  80. package/dist/cjs/src/abstract/onetrading.js +1 -1
  81. package/dist/cjs/src/abstract/oxfun.js +1 -1
  82. package/dist/cjs/src/abstract/p2b.js +1 -1
  83. package/dist/cjs/src/abstract/paradex.js +1 -1
  84. package/dist/cjs/src/abstract/paymium.js +1 -1
  85. package/dist/cjs/src/abstract/phemex.js +1 -1
  86. package/dist/cjs/src/abstract/poloniex.js +1 -1
  87. package/dist/cjs/src/abstract/probit.js +1 -1
  88. package/dist/cjs/src/abstract/timex.js +1 -1
  89. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  90. package/dist/cjs/src/abstract/toobit.js +11 -0
  91. package/dist/cjs/src/abstract/upbit.js +1 -1
  92. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  93. package/dist/cjs/src/abstract/whitebit.js +1 -1
  94. package/dist/cjs/src/abstract/woo.js +1 -1
  95. package/dist/cjs/src/abstract/woofipro.js +1 -1
  96. package/dist/cjs/src/abstract/xt.js +1 -1
  97. package/dist/cjs/src/abstract/yobit.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zonda.js +1 -1
  100. package/dist/cjs/src/alpaca.js +1 -1
  101. package/dist/cjs/src/apex.js +1 -1
  102. package/dist/cjs/src/ascendex.js +1 -1
  103. package/dist/cjs/src/backpack.js +2280 -0
  104. package/dist/cjs/src/base/Exchange.js +226 -62
  105. package/dist/cjs/src/base/Precise.js +0 -6
  106. package/dist/cjs/src/base/errors.js +0 -6
  107. package/dist/cjs/src/base/functions/crypto.js +1 -1
  108. package/dist/cjs/src/base/functions/encode.js +1 -1
  109. package/dist/cjs/src/base/functions/misc.js +0 -1
  110. package/dist/cjs/src/base/functions/number.js +0 -6
  111. package/dist/cjs/src/base/functions/platform.js +0 -6
  112. package/dist/cjs/src/base/functions/rsa.js +0 -1
  113. package/dist/cjs/src/base/functions/string.js +0 -6
  114. package/dist/cjs/src/base/functions/throttle.js +1 -1
  115. package/dist/cjs/src/base/functions/time.js +0 -6
  116. package/dist/cjs/src/base/functions/totp.js +0 -1
  117. package/dist/cjs/src/base/functions/type.js +0 -6
  118. package/dist/cjs/src/base/functions.js +1 -1
  119. package/dist/cjs/src/base/ws/Cache.js +0 -6
  120. package/dist/cjs/src/base/ws/Client.js +0 -1
  121. package/dist/cjs/src/base/ws/Future.js +1 -1
  122. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  123. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  124. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  125. package/dist/cjs/src/bequant.js +1 -1
  126. package/dist/cjs/src/bigone.js +5 -5
  127. package/dist/cjs/src/binance.js +80 -21
  128. package/dist/cjs/src/binancecoinm.js +1 -1
  129. package/dist/cjs/src/binanceus.js +1 -1
  130. package/dist/cjs/src/binanceusdm.js +1 -1
  131. package/dist/cjs/src/bingx.js +6 -3
  132. package/dist/cjs/src/bit2c.js +1 -1
  133. package/dist/cjs/src/bitbank.js +2 -2
  134. package/dist/cjs/src/bitbns.js +1 -1
  135. package/dist/cjs/src/bitfinex.js +1 -1
  136. package/dist/cjs/src/bitflyer.js +1 -1
  137. package/dist/cjs/src/bitget.js +73 -19
  138. package/dist/cjs/src/bithumb.js +1 -1
  139. package/dist/cjs/src/bitmart.js +1 -1
  140. package/dist/cjs/src/bitmex.js +1 -1
  141. package/dist/cjs/src/bitopro.js +1 -1
  142. package/dist/cjs/src/bitrue.js +1 -1
  143. package/dist/cjs/src/bitso.js +1 -1
  144. package/dist/cjs/src/bitstamp.js +1 -1
  145. package/dist/cjs/src/bitteam.js +1 -1
  146. package/dist/cjs/src/bittrade.js +1 -1
  147. package/dist/cjs/src/blockchaincom.js +1 -1
  148. package/dist/cjs/src/blofin.js +1 -1
  149. package/dist/cjs/src/btcalpha.js +1 -1
  150. package/dist/cjs/src/btcbox.js +1 -1
  151. package/dist/cjs/src/btcmarkets.js +1 -1
  152. package/dist/cjs/src/btcturk.js +1 -1
  153. package/dist/cjs/src/bybit.js +187 -128
  154. package/dist/cjs/src/cex.js +1 -1
  155. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  156. package/dist/cjs/src/coincatch.js +2 -2
  157. package/dist/cjs/src/coincheck.js +1 -1
  158. package/dist/cjs/src/coinex.js +1 -1
  159. package/dist/cjs/src/coinmate.js +1 -1
  160. package/dist/cjs/src/coinmetro.js +12 -1
  161. package/dist/cjs/src/coinone.js +1 -1
  162. package/dist/cjs/src/coinsph.js +4 -2
  163. package/dist/cjs/src/coinspot.js +1 -1
  164. package/dist/cjs/src/cryptocom.js +7 -4
  165. package/dist/cjs/src/cryptomus.js +1 -1
  166. package/dist/cjs/src/defx.js +1 -1
  167. package/dist/cjs/src/delta.js +1 -1
  168. package/dist/cjs/src/deribit.js +1 -1
  169. package/dist/cjs/src/derive.js +1 -1
  170. package/dist/cjs/src/digifinex.js +1 -1
  171. package/dist/cjs/src/exmo.js +1 -1
  172. package/dist/cjs/src/fmfwio.js +1 -1
  173. package/dist/cjs/src/foxbit.js +1 -1
  174. package/dist/cjs/src/gate.js +9 -3
  175. package/dist/cjs/src/gateio.js +1 -1
  176. package/dist/cjs/src/gemini.js +13 -8
  177. package/dist/cjs/src/hashkey.js +1 -1
  178. package/dist/cjs/src/hibachi.js +1 -1
  179. package/dist/cjs/src/hitbtc.js +0 -1
  180. package/dist/cjs/src/hollaex.js +1 -1
  181. package/dist/cjs/src/htx.js +1 -1
  182. package/dist/cjs/src/huobi.js +1 -1
  183. package/dist/cjs/src/hyperliquid.js +4 -1
  184. package/dist/cjs/src/independentreserve.js +1 -1
  185. package/dist/cjs/src/indodax.js +1 -1
  186. package/dist/cjs/src/kraken.js +7 -3
  187. package/dist/cjs/src/krakenfutures.js +2 -2
  188. package/dist/cjs/src/kucoin.js +2 -3
  189. package/dist/cjs/src/kucoinfutures.js +52 -4
  190. package/dist/cjs/src/latoken.js +1 -1
  191. package/dist/cjs/src/lbank.js +1 -1
  192. package/dist/cjs/src/luno.js +5 -2
  193. package/dist/cjs/src/mercado.js +1 -1
  194. package/dist/cjs/src/mexc.js +5 -2
  195. package/dist/cjs/src/modetrade.js +1 -1
  196. package/dist/cjs/src/myokx.js +1 -1
  197. package/dist/cjs/src/ndax.js +1 -1
  198. package/dist/cjs/src/novadax.js +1 -1
  199. package/dist/cjs/src/oceanex.js +1 -1
  200. package/dist/cjs/src/okcoin.js +5 -2
  201. package/dist/cjs/src/okx.js +59 -18
  202. package/dist/cjs/src/okxus.js +1 -1
  203. package/dist/cjs/src/onetrading.js +161 -66
  204. package/dist/cjs/src/oxfun.js +1 -1
  205. package/dist/cjs/src/p2b.js +1 -1
  206. package/dist/cjs/src/paradex.js +1 -1
  207. package/dist/cjs/src/paymium.js +1 -1
  208. package/dist/cjs/src/phemex.js +16 -10
  209. package/dist/cjs/src/poloniex.js +1 -1
  210. package/dist/cjs/src/pro/alpaca.js +1 -1
  211. package/dist/cjs/src/pro/apex.js +2 -1
  212. package/dist/cjs/src/pro/ascendex.js +1 -1
  213. package/dist/cjs/src/pro/backpack.js +1325 -0
  214. package/dist/cjs/src/pro/bequant.js +1 -1
  215. package/dist/cjs/src/pro/binance.js +159 -19
  216. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  217. package/dist/cjs/src/pro/binanceus.js +1 -1
  218. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  219. package/dist/cjs/src/pro/bingx.js +1 -1
  220. package/dist/cjs/src/pro/bitfinex.js +1 -1
  221. package/dist/cjs/src/pro/bitget.js +373 -88
  222. package/dist/cjs/src/pro/bithumb.js +1 -1
  223. package/dist/cjs/src/pro/bitmart.js +1 -1
  224. package/dist/cjs/src/pro/bitmex.js +1 -1
  225. package/dist/cjs/src/pro/bitrue.js +1 -1
  226. package/dist/cjs/src/pro/bitstamp.js +1 -1
  227. package/dist/cjs/src/pro/bitvavo.js +1 -1
  228. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  229. package/dist/cjs/src/pro/blofin.js +1 -1
  230. package/dist/cjs/src/pro/bybit.js +4 -1
  231. package/dist/cjs/src/pro/cex.js +2 -1
  232. package/dist/cjs/src/pro/coinbase.js +227 -1
  233. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  234. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  235. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  236. package/dist/cjs/src/pro/coincatch.js +1 -1
  237. package/dist/cjs/src/pro/coincheck.js +1 -1
  238. package/dist/cjs/src/pro/coinex.js +1 -1
  239. package/dist/cjs/src/pro/coinone.js +1 -1
  240. package/dist/cjs/src/pro/cryptocom.js +1 -1
  241. package/dist/cjs/src/pro/defx.js +1 -1
  242. package/dist/cjs/src/pro/deribit.js +1 -1
  243. package/dist/cjs/src/pro/exmo.js +1 -1
  244. package/dist/cjs/src/pro/gate.js +1 -1
  245. package/dist/cjs/src/pro/gateio.js +1 -1
  246. package/dist/cjs/src/pro/gemini.js +1 -1
  247. package/dist/cjs/src/pro/hashkey.js +1 -1
  248. package/dist/cjs/src/pro/hitbtc.js +1 -1
  249. package/dist/cjs/src/pro/hollaex.js +1 -1
  250. package/dist/cjs/src/pro/htx.js +1 -1
  251. package/dist/cjs/src/pro/huobi.js +1 -1
  252. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  253. package/dist/cjs/src/pro/independentreserve.js +2 -1
  254. package/dist/cjs/src/pro/kraken.js +1 -1
  255. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  256. package/dist/cjs/src/pro/kucoin.js +1 -1
  257. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  258. package/dist/cjs/src/pro/lbank.js +0 -1
  259. package/dist/cjs/src/pro/luno.js +1 -1
  260. package/dist/cjs/src/pro/mexc.js +24 -24
  261. package/dist/cjs/src/pro/myokx.js +1 -1
  262. package/dist/cjs/src/pro/ndax.js +1 -1
  263. package/dist/cjs/src/pro/okcoin.js +1 -1
  264. package/dist/cjs/src/pro/okx.js +47 -11
  265. package/dist/cjs/src/pro/okxus.js +1 -1
  266. package/dist/cjs/src/pro/onetrading.js +1 -1
  267. package/dist/cjs/src/pro/oxfun.js +1 -1
  268. package/dist/cjs/src/pro/p2b.js +1 -1
  269. package/dist/cjs/src/pro/paradex.js +1 -1
  270. package/dist/cjs/src/pro/phemex.js +1 -1
  271. package/dist/cjs/src/pro/poloniex.js +1 -1
  272. package/dist/cjs/src/pro/probit.js +1 -1
  273. package/dist/cjs/src/pro/toobit.js +1163 -0
  274. package/dist/cjs/src/pro/upbit.js +1 -1
  275. package/dist/cjs/src/pro/whitebit.js +1 -1
  276. package/dist/cjs/src/pro/xt.js +1 -1
  277. package/dist/cjs/src/probit.js +1 -1
  278. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  279. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  280. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  281. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  282. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  283. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  284. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  285. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  286. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  287. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  288. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  289. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  290. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  291. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  292. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  293. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  294. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  295. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  296. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  297. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  298. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  299. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  300. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  301. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  302. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  303. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  304. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  305. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  306. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  307. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  308. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  309. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  310. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  311. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  312. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  313. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  314. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  315. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  316. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  317. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  318. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  319. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  320. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  321. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  322. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  323. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  324. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  325. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  326. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  327. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  328. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  329. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  330. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  331. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  332. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  333. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  334. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  335. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  336. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  337. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  338. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  339. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  340. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  341. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  342. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  343. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  344. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  345. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  346. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  347. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  348. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  349. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  350. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  351. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  352. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  353. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  354. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  355. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  356. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  357. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  358. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  359. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  360. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  361. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  362. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  363. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  364. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  365. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  366. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  367. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  368. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  369. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  370. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  371. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  372. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  373. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  374. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  375. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  376. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  377. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  378. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  379. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  380. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  381. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  388. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  389. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  390. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  391. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  392. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  393. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  394. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  395. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  396. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  397. package/dist/cjs/src/timex.js +0 -1
  398. package/dist/cjs/src/tokocrypto.js +1 -1
  399. package/dist/cjs/src/toobit.js +2999 -0
  400. package/dist/cjs/src/upbit.js +1 -1
  401. package/dist/cjs/src/wavesexchange.js +1 -1
  402. package/dist/cjs/src/whitebit.js +1 -1
  403. package/dist/cjs/src/woo.js +1 -1
  404. package/dist/cjs/src/woofipro.js +1 -1
  405. package/dist/cjs/src/xt.js +10 -1
  406. package/dist/cjs/src/yobit.js +10 -1
  407. package/dist/cjs/src/zaif.js +1 -1
  408. package/dist/cjs/src/zonda.js +1 -1
  409. package/js/ccxt.d.ts +14 -8
  410. package/js/ccxt.js +10 -12
  411. package/js/src/abstract/alpaca.js +0 -6
  412. package/js/src/abstract/apex.js +0 -6
  413. package/js/src/abstract/ascendex.js +0 -6
  414. package/js/src/abstract/backpack.d.ts +63 -0
  415. package/js/src/abstract/backpack.js +5 -0
  416. package/js/src/abstract/bequant.js +0 -6
  417. package/js/src/abstract/bigone.js +0 -6
  418. package/js/src/abstract/binance.js +0 -6
  419. package/js/src/abstract/binancecoinm.js +0 -6
  420. package/js/src/abstract/binanceus.js +0 -6
  421. package/js/src/abstract/binanceusdm.js +0 -6
  422. package/js/src/abstract/bingx.js +0 -6
  423. package/js/src/abstract/bit2c.js +0 -6
  424. package/js/src/abstract/bitbank.js +0 -6
  425. package/js/src/abstract/bitbns.js +0 -6
  426. package/js/src/abstract/bitfinex.js +0 -6
  427. package/js/src/abstract/bitflyer.js +0 -6
  428. package/js/src/abstract/bitget.js +0 -6
  429. package/js/src/abstract/bithumb.js +0 -6
  430. package/js/src/abstract/bitmart.js +0 -6
  431. package/js/src/abstract/bitmex.js +0 -6
  432. package/js/src/abstract/bitopro.js +0 -6
  433. package/js/src/abstract/bitrue.js +0 -6
  434. package/js/src/abstract/bitso.js +0 -6
  435. package/js/src/abstract/bitstamp.js +0 -6
  436. package/js/src/abstract/bitteam.js +0 -6
  437. package/js/src/abstract/bittrade.js +0 -6
  438. package/js/src/abstract/bitvavo.js +0 -6
  439. package/js/src/abstract/blockchaincom.js +0 -6
  440. package/js/src/abstract/blofin.js +0 -6
  441. package/js/src/abstract/btcalpha.js +0 -6
  442. package/js/src/abstract/btcbox.js +0 -6
  443. package/js/src/abstract/btcmarkets.js +0 -6
  444. package/js/src/abstract/btcturk.js +0 -6
  445. package/js/src/abstract/bybit.js +0 -6
  446. package/js/src/abstract/cex.js +0 -6
  447. package/js/src/abstract/coinbase.js +0 -6
  448. package/js/src/abstract/coinbaseadvanced.js +0 -6
  449. package/js/src/abstract/coinbaseexchange.js +0 -6
  450. package/js/src/abstract/coinbaseinternational.js +0 -6
  451. package/js/src/abstract/coincatch.js +0 -6
  452. package/js/src/abstract/coincheck.js +0 -6
  453. package/js/src/abstract/coinex.js +0 -6
  454. package/js/src/abstract/coinmate.js +0 -6
  455. package/js/src/abstract/coinmetro.js +0 -6
  456. package/js/src/abstract/coinone.js +0 -6
  457. package/js/src/abstract/coinsph.js +0 -6
  458. package/js/src/abstract/coinspot.js +0 -6
  459. package/js/src/abstract/cryptocom.js +0 -6
  460. package/js/src/abstract/cryptomus.js +0 -6
  461. package/js/src/abstract/defx.js +0 -6
  462. package/js/src/abstract/delta.js +0 -6
  463. package/js/src/abstract/deribit.js +0 -6
  464. package/js/src/abstract/derive.js +0 -6
  465. package/js/src/abstract/digifinex.js +0 -6
  466. package/js/src/abstract/exmo.js +0 -6
  467. package/js/src/abstract/fmfwio.js +0 -6
  468. package/js/src/abstract/foxbit.js +0 -6
  469. package/js/src/abstract/gate.js +0 -6
  470. package/js/src/abstract/gateio.js +0 -6
  471. package/js/src/abstract/gemini.js +0 -6
  472. package/js/src/abstract/hashkey.js +0 -6
  473. package/js/src/abstract/hibachi.js +0 -6
  474. package/js/src/abstract/hitbtc.js +0 -6
  475. package/js/src/abstract/hollaex.js +0 -6
  476. package/js/src/abstract/htx.js +0 -6
  477. package/js/src/abstract/huobi.js +0 -6
  478. package/js/src/abstract/hyperliquid.js +0 -6
  479. package/js/src/abstract/independentreserve.js +0 -6
  480. package/js/src/abstract/indodax.js +0 -6
  481. package/js/src/abstract/kraken.js +0 -6
  482. package/js/src/abstract/krakenfutures.js +0 -6
  483. package/js/src/abstract/kucoin.js +0 -6
  484. package/js/src/abstract/kucoinfutures.d.ts +1 -0
  485. package/js/src/abstract/kucoinfutures.js +0 -6
  486. package/js/src/abstract/latoken.js +0 -6
  487. package/js/src/abstract/lbank.js +0 -6
  488. package/js/src/abstract/luno.js +0 -6
  489. package/js/src/abstract/mercado.js +0 -6
  490. package/js/src/abstract/mexc.js +0 -6
  491. package/js/src/abstract/modetrade.js +0 -6
  492. package/js/src/abstract/myokx.d.ts +1 -0
  493. package/js/src/abstract/myokx.js +0 -6
  494. package/js/src/abstract/ndax.js +0 -6
  495. package/js/src/abstract/novadax.js +0 -6
  496. package/js/src/abstract/oceanex.js +0 -6
  497. package/js/src/abstract/okcoin.js +0 -6
  498. package/js/src/abstract/okx.d.ts +1 -0
  499. package/js/src/abstract/okx.js +0 -6
  500. package/js/src/abstract/okxus.d.ts +1 -0
  501. package/js/src/abstract/okxus.js +0 -6
  502. package/js/src/abstract/onetrading.js +0 -6
  503. package/js/src/abstract/oxfun.js +0 -6
  504. package/js/src/abstract/p2b.js +0 -6
  505. package/js/src/abstract/paradex.js +0 -6
  506. package/js/src/abstract/paymium.js +0 -6
  507. package/js/src/abstract/phemex.d.ts +1 -1
  508. package/js/src/abstract/phemex.js +0 -6
  509. package/js/src/abstract/poloniex.js +0 -6
  510. package/js/src/abstract/probit.js +0 -6
  511. package/js/src/abstract/timex.js +0 -6
  512. package/js/src/abstract/tokocrypto.js +0 -6
  513. package/js/src/abstract/toobit.d.ts +66 -0
  514. package/js/src/abstract/toobit.js +5 -0
  515. package/js/src/abstract/upbit.js +0 -6
  516. package/js/src/abstract/wavesexchange.js +0 -6
  517. package/js/src/abstract/whitebit.js +0 -6
  518. package/js/src/abstract/woo.js +0 -6
  519. package/js/src/abstract/woofipro.js +0 -6
  520. package/js/src/abstract/xt.js +0 -6
  521. package/js/src/abstract/yobit.js +0 -6
  522. package/js/src/abstract/zaif.js +0 -6
  523. package/js/src/abstract/zonda.js +0 -6
  524. package/js/src/alpaca.js +0 -6
  525. package/js/src/apex.js +0 -6
  526. package/js/src/ascendex.js +0 -6
  527. package/js/src/backpack.d.ts +371 -0
  528. package/js/src/backpack.js +2273 -0
  529. package/js/src/base/Exchange.d.ts +48 -40
  530. package/js/src/base/Exchange.js +231 -72
  531. package/js/src/base/Precise.js +0 -6
  532. package/js/src/base/errorHierarchy.js +0 -6
  533. package/js/src/base/errors.js +0 -6
  534. package/js/src/base/functions/crypto.js +0 -6
  535. package/js/src/base/functions/encode.js +0 -6
  536. package/js/src/base/functions/generic.js +0 -6
  537. package/js/src/base/functions/misc.js +0 -6
  538. package/js/src/base/functions/number.js +0 -6
  539. package/js/src/base/functions/platform.js +0 -6
  540. package/js/src/base/functions/rsa.js +0 -6
  541. package/js/src/base/functions/string.js +0 -6
  542. package/js/src/base/functions/throttle.js +0 -6
  543. package/js/src/base/functions/time.js +0 -6
  544. package/js/src/base/functions/totp.js +0 -6
  545. package/js/src/base/functions/type.js +0 -6
  546. package/js/src/base/functions.js +0 -6
  547. package/js/src/base/types.d.ts +1 -3
  548. package/js/src/base/types.js +0 -6
  549. package/js/src/base/ws/Cache.js +0 -6
  550. package/js/src/base/ws/Client.js +0 -6
  551. package/js/src/base/ws/Future.js +0 -6
  552. package/js/src/base/ws/OrderBook.js +0 -6
  553. package/js/src/base/ws/OrderBookSide.js +0 -6
  554. package/js/src/base/ws/WsClient.js +0 -6
  555. package/js/src/base/ws/functions.js +0 -6
  556. package/js/src/bequant.js +0 -6
  557. package/js/src/bigone.js +4 -10
  558. package/js/src/binance.d.ts +10 -1
  559. package/js/src/binance.js +79 -26
  560. package/js/src/binancecoinm.js +0 -6
  561. package/js/src/binanceus.js +0 -6
  562. package/js/src/binanceusdm.js +0 -6
  563. package/js/src/bingx.js +5 -8
  564. package/js/src/bit2c.js +0 -6
  565. package/js/src/bitbank.js +1 -7
  566. package/js/src/bitbns.js +0 -6
  567. package/js/src/bitfinex.js +0 -6
  568. package/js/src/bitflyer.js +0 -6
  569. package/js/src/bitget.d.ts +3 -1
  570. package/js/src/bitget.js +72 -24
  571. package/js/src/bithumb.js +0 -6
  572. package/js/src/bitmart.js +0 -6
  573. package/js/src/bitmex.js +0 -6
  574. package/js/src/bitopro.js +0 -6
  575. package/js/src/bitrue.js +0 -6
  576. package/js/src/bitso.js +0 -6
  577. package/js/src/bitstamp.js +0 -6
  578. package/js/src/bitteam.js +0 -6
  579. package/js/src/bittrade.js +0 -6
  580. package/js/src/bitvavo.js +0 -6
  581. package/js/src/blockchaincom.js +0 -6
  582. package/js/src/blofin.js +0 -6
  583. package/js/src/btcalpha.js +0 -6
  584. package/js/src/btcbox.js +0 -6
  585. package/js/src/btcmarkets.js +0 -6
  586. package/js/src/btcturk.js +0 -6
  587. package/js/src/bybit.d.ts +8 -0
  588. package/js/src/bybit.js +186 -133
  589. package/js/src/cex.js +0 -6
  590. package/js/src/coinbase.d.ts +1 -1
  591. package/js/src/coinbase.js +0 -6
  592. package/js/src/coinbaseadvanced.js +0 -6
  593. package/js/src/coinbaseexchange.js +0 -6
  594. package/js/src/coinbaseinternational.js +0 -6
  595. package/js/src/coincatch.js +1 -7
  596. package/js/src/coincheck.js +0 -6
  597. package/js/src/coinex.js +0 -6
  598. package/js/src/coinmate.js +0 -6
  599. package/js/src/coinmetro.js +11 -6
  600. package/js/src/coinone.js +0 -6
  601. package/js/src/coinsph.js +4 -7
  602. package/js/src/coinspot.js +0 -6
  603. package/js/src/cryptocom.js +6 -9
  604. package/js/src/cryptomus.js +0 -6
  605. package/js/src/defx.js +0 -6
  606. package/js/src/delta.js +0 -6
  607. package/js/src/deribit.js +0 -6
  608. package/js/src/derive.js +0 -6
  609. package/js/src/digifinex.js +0 -6
  610. package/js/src/exmo.js +0 -6
  611. package/js/src/fmfwio.js +0 -6
  612. package/js/src/foxbit.js +0 -6
  613. package/js/src/gate.d.ts +6 -0
  614. package/js/src/gate.js +8 -8
  615. package/js/src/gateio.js +0 -6
  616. package/js/src/gemini.js +12 -13
  617. package/js/src/hashkey.js +0 -6
  618. package/js/src/hibachi.js +0 -6
  619. package/js/src/hitbtc.js +0 -6
  620. package/js/src/hollaex.js +0 -6
  621. package/js/src/htx.js +0 -6
  622. package/js/src/huobi.js +0 -6
  623. package/js/src/hyperliquid.js +3 -6
  624. package/js/src/independentreserve.js +0 -6
  625. package/js/src/indodax.js +0 -6
  626. package/js/src/kraken.d.ts +1 -1
  627. package/js/src/kraken.js +6 -8
  628. package/js/src/krakenfutures.js +1 -7
  629. package/js/src/kucoin.js +1 -8
  630. package/js/src/kucoinfutures.d.ts +14 -1
  631. package/js/src/kucoinfutures.js +51 -9
  632. package/js/src/latoken.js +0 -6
  633. package/js/src/lbank.js +0 -6
  634. package/js/src/luno.js +4 -7
  635. package/js/src/mercado.js +0 -6
  636. package/js/src/mexc.js +4 -7
  637. package/js/src/modetrade.js +0 -6
  638. package/js/src/myokx.js +0 -6
  639. package/js/src/ndax.js +0 -6
  640. package/js/src/novadax.js +0 -6
  641. package/js/src/oceanex.js +0 -6
  642. package/js/src/okcoin.js +4 -7
  643. package/js/src/okx.js +58 -23
  644. package/js/src/okxus.js +0 -6
  645. package/js/src/onetrading.d.ts +1 -0
  646. package/js/src/onetrading.js +160 -71
  647. package/js/src/oxfun.js +0 -6
  648. package/js/src/p2b.js +0 -6
  649. package/js/src/paradex.js +0 -6
  650. package/js/src/paymium.js +0 -6
  651. package/js/src/phemex.d.ts +3 -3
  652. package/js/src/phemex.js +16 -16
  653. package/js/src/poloniex.js +0 -6
  654. package/js/src/pro/alpaca.js +0 -6
  655. package/js/src/pro/apex.js +1 -6
  656. package/js/src/pro/ascendex.js +0 -6
  657. package/js/src/pro/backpack.d.ts +264 -0
  658. package/js/src/pro/backpack.js +1318 -0
  659. package/js/src/pro/bequant.js +0 -6
  660. package/js/src/pro/binance.d.ts +24 -0
  661. package/js/src/pro/binance.js +159 -25
  662. package/js/src/pro/binancecoinm.js +0 -6
  663. package/js/src/pro/binanceus.js +0 -6
  664. package/js/src/pro/binanceusdm.js +0 -6
  665. package/js/src/pro/bingx.js +0 -6
  666. package/js/src/pro/bitfinex.js +0 -6
  667. package/js/src/pro/bitget.d.ts +12 -0
  668. package/js/src/pro/bitget.js +372 -93
  669. package/js/src/pro/bithumb.js +0 -6
  670. package/js/src/pro/bitmart.js +0 -6
  671. package/js/src/pro/bitmex.js +0 -6
  672. package/js/src/pro/bitopro.js +0 -6
  673. package/js/src/pro/bitrue.js +0 -6
  674. package/js/src/pro/bitstamp.js +0 -6
  675. package/js/src/pro/bittrade.js +0 -6
  676. package/js/src/pro/bitvavo.js +0 -6
  677. package/js/src/pro/blockchaincom.js +0 -6
  678. package/js/src/pro/blofin.js +0 -6
  679. package/js/src/pro/bybit.js +3 -6
  680. package/js/src/pro/cex.js +1 -6
  681. package/js/src/pro/coinbase.d.ts +85 -0
  682. package/js/src/pro/coinbase.js +226 -6
  683. package/js/src/pro/coinbaseadvanced.js +0 -6
  684. package/js/src/pro/coinbaseexchange.js +0 -6
  685. package/js/src/pro/coinbaseinternational.js +0 -6
  686. package/js/src/pro/coincatch.js +0 -6
  687. package/js/src/pro/coincheck.js +0 -6
  688. package/js/src/pro/coinex.js +0 -6
  689. package/js/src/pro/coinone.js +0 -6
  690. package/js/src/pro/cryptocom.js +0 -6
  691. package/js/src/pro/defx.js +0 -6
  692. package/js/src/pro/deribit.js +0 -6
  693. package/js/src/pro/derive.js +0 -6
  694. package/js/src/pro/exmo.js +0 -6
  695. package/js/src/pro/gate.js +0 -6
  696. package/js/src/pro/gateio.js +0 -6
  697. package/js/src/pro/gemini.js +0 -6
  698. package/js/src/pro/hashkey.js +0 -6
  699. package/js/src/pro/hitbtc.js +0 -6
  700. package/js/src/pro/hollaex.js +0 -6
  701. package/js/src/pro/htx.js +0 -6
  702. package/js/src/pro/huobi.js +0 -6
  703. package/js/src/pro/hyperliquid.js +0 -6
  704. package/js/src/pro/independentreserve.js +1 -6
  705. package/js/src/pro/kraken.js +0 -6
  706. package/js/src/pro/krakenfutures.js +0 -6
  707. package/js/src/pro/kucoin.js +0 -6
  708. package/js/src/pro/kucoinfutures.js +0 -6
  709. package/js/src/pro/lbank.js +0 -6
  710. package/js/src/pro/luno.js +0 -6
  711. package/js/src/pro/mexc.js +23 -29
  712. package/js/src/pro/modetrade.js +0 -6
  713. package/js/src/pro/myokx.js +0 -6
  714. package/js/src/pro/ndax.js +0 -6
  715. package/js/src/pro/okcoin.js +0 -6
  716. package/js/src/pro/okx.d.ts +7 -1
  717. package/js/src/pro/okx.js +46 -16
  718. package/js/src/pro/okxus.js +0 -6
  719. package/js/src/pro/onetrading.js +0 -6
  720. package/js/src/pro/oxfun.js +0 -6
  721. package/js/src/pro/p2b.js +0 -6
  722. package/js/src/pro/paradex.js +0 -6
  723. package/js/src/pro/phemex.js +0 -6
  724. package/js/src/pro/poloniex.js +0 -6
  725. package/js/src/pro/probit.js +0 -6
  726. package/js/src/pro/toobit.d.ts +174 -0
  727. package/js/src/pro/toobit.js +1162 -0
  728. package/js/src/pro/upbit.js +0 -6
  729. package/js/src/pro/whitebit.js +0 -6
  730. package/js/src/pro/woo.js +0 -6
  731. package/js/src/pro/woofipro.js +0 -6
  732. package/js/src/pro/xt.js +0 -6
  733. package/js/src/probit.js +0 -6
  734. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  735. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  736. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  737. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  738. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  739. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  740. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  741. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  742. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  743. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  744. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  745. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  746. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  747. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  748. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  749. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  750. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  751. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  752. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  753. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  754. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  755. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  756. package/js/src/static_dependencies/ethers/index.js +0 -6
  757. package/js/src/static_dependencies/ethers/interface.js +0 -6
  758. package/js/src/static_dependencies/ethers/typed.js +0 -6
  759. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  760. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  761. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  762. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  763. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  764. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  765. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  766. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  767. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  768. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  769. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  770. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  771. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  772. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  773. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  774. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  775. package/js/src/static_dependencies/fflake/browser.js +0 -6
  776. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  777. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  778. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  779. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  780. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  781. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  782. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  783. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  784. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  785. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  786. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  787. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  788. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  789. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  790. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  791. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  792. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  793. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  794. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  795. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  796. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  797. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  798. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  799. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  800. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  801. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  802. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  803. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  804. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  805. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  806. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  807. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  808. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  809. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  810. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  811. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  812. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  813. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  814. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  815. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  816. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  817. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  818. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  819. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  820. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  821. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  822. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  823. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  824. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  825. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  826. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  827. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  828. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  829. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  830. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  831. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  832. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  833. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  834. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  835. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  836. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  837. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  838. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  839. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  840. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  841. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  842. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  843. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  844. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  845. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  846. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  847. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  848. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  849. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  850. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  851. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  852. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  853. package/js/src/static_dependencies/qs/formats.cjs +0 -6
  854. package/js/src/static_dependencies/qs/index.cjs +0 -6
  855. package/js/src/static_dependencies/qs/parse.cjs +0 -6
  856. package/js/src/static_dependencies/qs/stringify.cjs +0 -6
  857. package/js/src/static_dependencies/qs/utils.cjs +0 -6
  858. package/js/src/static_dependencies/scure-base/index.js +0 -6
  859. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  860. package/js/src/static_dependencies/starknet/constants.js +0 -6
  861. package/js/src/static_dependencies/starknet/index.js +0 -6
  862. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  863. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  864. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  865. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  866. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  867. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  868. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  869. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  870. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  871. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  872. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  873. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  874. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  875. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  876. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  877. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  878. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  879. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  880. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  881. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  882. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  883. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  884. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  885. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  886. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  887. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  888. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  889. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  890. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  891. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  892. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  893. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  894. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  895. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  896. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  897. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  898. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  899. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  900. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  901. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  902. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  903. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  904. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  905. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  906. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  907. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  908. package/js/src/timex.js +0 -6
  909. package/js/src/tokocrypto.js +0 -6
  910. package/js/src/toobit.d.ts +456 -0
  911. package/js/src/toobit.js +2992 -0
  912. package/js/src/upbit.js +0 -6
  913. package/js/src/wavesexchange.js +0 -6
  914. package/js/src/whitebit.js +0 -6
  915. package/js/src/woo.js +0 -6
  916. package/js/src/woofipro.js +0 -6
  917. package/js/src/xt.d.ts +1 -0
  918. package/js/src/xt.js +9 -6
  919. package/js/src/yobit.js +9 -6
  920. package/js/src/zaif.js +0 -6
  921. package/js/src/zonda.js +0 -6
  922. package/package.json +1 -1
  923. package/dist/373.ccxt.browser.js +0 -7630
  924. package/dist/373.ccxt.browser.min.js +0 -1
  925. package/js/src/abstract/tradeogre.d.ts +0 -21
  926. package/js/src/abstract/tradeogre.js +0 -11
  927. package/js/src/pro/tradeogre.d.ts +0 -49
  928. package/js/src/pro/tradeogre.js +0 -284
  929. package/js/src/tradeogre.d.ts +0 -149
  930. package/js/src/tradeogre.js +0 -878
@@ -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
@@ -513,7 +513,7 @@ class bitget extends bitget$1["default"] {
513
513
  args['topic'] = 'kline';
514
514
  args['symbol'] = market['id'];
515
515
  args['interval'] = interval;
516
- params['uta'] = true;
516
+ params = this.extend(params, { 'uta': true });
517
517
  messageHash = 'kline:' + symbol;
518
518
  }
519
519
  else {
@@ -557,7 +557,7 @@ class bitget extends bitget$1["default"] {
557
557
  if (uta) {
558
558
  channel = 'kline';
559
559
  market['id'];
560
- params['uta'] = true;
560
+ params = this.extend(params, { 'uta': true });
561
561
  params['interval'] = interval;
562
562
  messageHash = channel + symbol;
563
563
  }
@@ -706,9 +706,11 @@ class bitget extends bitget$1["default"] {
706
706
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
707
707
  * @see https://www.bitget.com/api-doc/spot/websocket/public/Depth-Channel
708
708
  * @see https://www.bitget.com/api-doc/contract/websocket/public/Order-Book-Channel
709
+ * @see https://www.bitget.com/api-doc/uta/websocket/public/Order-Book-Channel
709
710
  * @param {string} symbol unified symbol of the market to fetch the order book for
710
711
  * @param {int} [limit] the maximum amount of order book entries to return
711
712
  * @param {object} [params] extra parameters specific to the exchange API endpoint
713
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
712
714
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
713
715
  */
714
716
  async watchOrderBook(symbol, limit = undefined, params = {}) {
@@ -720,16 +722,18 @@ class bitget extends bitget$1["default"] {
720
722
  * @description unsubscribe from the orderbook channel
721
723
  * @see https://www.bitget.com/api-doc/spot/websocket/public/Depth-Channel
722
724
  * @see https://www.bitget.com/api-doc/contract/websocket/public/Order-Book-Channel
725
+ * @see https://www.bitget.com/api-doc/uta/websocket/public/Order-Book-Channel
723
726
  * @param {string} symbol unified symbol of the market to fetch the order book for
724
727
  * @param {object} [params] extra parameters specific to the exchange API endpoint
725
728
  * @param {int} [params.limit] orderbook limit, default is undefined
729
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
726
730
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
727
731
  */
728
732
  async unWatchOrderBook(symbol, params = {}) {
729
733
  await this.loadMarkets();
730
734
  let channel = 'books';
731
735
  const limit = this.safeInteger(params, 'limit');
732
- if ((limit === 1) || (limit === 5) || (limit === 15)) {
736
+ if ((limit === 1) || (limit === 5) || (limit === 15) || (limit === 50)) {
733
737
  params = this.omit(params, 'limit');
734
738
  channel += limit.toString();
735
739
  }
@@ -750,7 +754,7 @@ class bitget extends bitget$1["default"] {
750
754
  args['topic'] = channel;
751
755
  args['symbol'] = market['id'];
752
756
  args['interval'] = this.safeString(params, 'interval', '1m');
753
- params['uta'] = true;
757
+ params = this.extend(params, { 'uta': true });
754
758
  params = this.omit(params, 'interval');
755
759
  }
756
760
  else {
@@ -765,9 +769,11 @@ class bitget extends bitget$1["default"] {
765
769
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
766
770
  * @see https://www.bitget.com/api-doc/spot/websocket/public/Depth-Channel
767
771
  * @see https://www.bitget.com/api-doc/contract/websocket/public/Order-Book-Channel
772
+ * @see https://www.bitget.com/api-doc/uta/websocket/public/Order-Book-Channel
768
773
  * @param {string[]} symbols unified array of symbols
769
774
  * @param {int} [limit] the maximum amount of order book entries to return
770
775
  * @param {object} [params] extra parameters specific to the exchange API endpoint
776
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
771
777
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
772
778
  */
773
779
  async watchOrderBookForSymbols(symbols, limit = undefined, params = {}) {
@@ -775,25 +781,32 @@ class bitget extends bitget$1["default"] {
775
781
  symbols = this.marketSymbols(symbols);
776
782
  let channel = 'books';
777
783
  let incrementalFeed = true;
778
- if ((limit === 1) || (limit === 5) || (limit === 15)) {
784
+ if ((limit === 1) || (limit === 5) || (limit === 15) || (limit === 50)) {
779
785
  channel += limit.toString();
780
786
  incrementalFeed = false;
781
787
  }
782
788
  const topics = [];
783
789
  const messageHashes = [];
790
+ let uta = undefined;
791
+ [uta, params] = this.handleOptionAndParams(params, 'watchOrderBookForSymbols', 'uta', false);
784
792
  for (let i = 0; i < symbols.length; i++) {
785
793
  const symbol = symbols[i];
786
794
  const market = this.market(symbol);
787
795
  let instType = undefined;
788
- [instType, params] = this.getInstType(market, false, params);
796
+ [instType, params] = this.getInstType(market, uta, params);
789
797
  const args = {
790
798
  'instType': instType,
791
- 'channel': channel,
792
- 'instId': market['id'],
793
799
  };
800
+ const topicOrChannel = uta ? 'topic' : 'channel';
801
+ const symbolOrInstId = uta ? 'symbol' : 'instId';
802
+ args[topicOrChannel] = channel;
803
+ args[symbolOrInstId] = market['id'];
794
804
  topics.push(args);
795
805
  messageHashes.push('orderbook:' + symbol);
796
806
  }
807
+ if (uta) {
808
+ params['uta'] = true;
809
+ }
797
810
  const orderbook = await this.watchPublicMultiple(messageHashes, topics, params);
798
811
  if (incrementalFeed) {
799
812
  return orderbook.limit();
@@ -833,11 +846,27 @@ class bitget extends bitget$1["default"] {
833
846
  // ]
834
847
  // }
835
848
  //
849
+ // {
850
+ // "action": "snapshot",
851
+ // "arg": { "instType": "usdt-futures", "topic": "books", "symbol": "BTCUSDT" },
852
+ // "data": [
853
+ // {
854
+ // "a": [Array],
855
+ // "b": [Array],
856
+ // "checksum": 0,
857
+ // "pseq": 0,
858
+ // "seq": "1343064377779269632",
859
+ // "ts": "1755937421270"
860
+ // }
861
+ // ],
862
+ // "ts": 1755937421337
863
+ // }
864
+ //
836
865
  const arg = this.safeValue(message, 'arg');
837
- const channel = this.safeString(arg, 'channel');
838
- const instType = this.safeString(arg, 'instType');
839
- const marketType = (instType === 'SPOT') ? 'spot' : 'contract';
840
- const marketId = this.safeString(arg, 'instId');
866
+ const channel = this.safeString2(arg, 'channel', 'topic');
867
+ const instType = this.safeStringLower(arg, 'instType');
868
+ const marketType = (instType === 'spot') ? 'spot' : 'contract';
869
+ const marketId = this.safeString2(arg, 'instId', 'symbol');
841
870
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
842
871
  const symbol = market['symbol'];
843
872
  const messageHash = 'orderbook:' + symbol;
@@ -854,8 +883,8 @@ class bitget extends bitget$1["default"] {
854
883
  this.orderbooks[symbol] = ob;
855
884
  }
856
885
  const storedOrderBook = this.orderbooks[symbol];
857
- const asks = this.safeValue(rawOrderBook, 'asks', []);
858
- const bids = this.safeValue(rawOrderBook, 'bids', []);
886
+ const asks = this.safeList2(rawOrderBook, 'asks', 'a', []);
887
+ const bids = this.safeList2(rawOrderBook, 'bids', 'b', []);
859
888
  this.handleDeltas(storedOrderBook['asks'], asks);
860
889
  this.handleDeltas(storedOrderBook['bids'], bids);
861
890
  storedOrderBook['timestamp'] = timestamp;
@@ -974,7 +1003,7 @@ class bitget extends bitget$1["default"] {
974
1003
  messageHashes.push('trade:' + symbol);
975
1004
  }
976
1005
  if (uta) {
977
- params['uta'] = true;
1006
+ params = this.extend(params, { 'uta': true });
978
1007
  }
979
1008
  const trades = await this.watchPublicMultiple(messageHashes, topics, params);
980
1009
  if (this.newUpdates) {
@@ -1208,11 +1237,13 @@ class bitget extends bitget$1["default"] {
1208
1237
  * @name bitget#watchPositions
1209
1238
  * @description watch all open positions
1210
1239
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Positions-Channel
1240
+ * @see https://www.bitget.com/api-doc/uta/websocket/private/Positions-Channel
1211
1241
  * @param {string[]|undefined} symbols list of unified market symbols
1212
1242
  * @param {int} [since] the earliest time in ms to fetch positions for
1213
1243
  * @param {int} [limit] the maximum number of positions to retrieve
1214
1244
  * @param {object} params extra parameters specific to the exchange API endpoint
1215
1245
  * @param {string} [params.instType] one of 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES', default is 'USDT-FUTURES'
1246
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
1216
1247
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
1217
1248
  */
1218
1249
  async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1221,17 +1252,29 @@ class bitget extends bitget$1["default"] {
1221
1252
  let messageHash = '';
1222
1253
  const subscriptionHash = 'positions';
1223
1254
  let instType = 'USDT-FUTURES';
1255
+ let uta = undefined;
1256
+ [uta, params] = this.handleOptionAndParams(params, 'watchPositions', 'uta', false);
1224
1257
  symbols = this.marketSymbols(symbols);
1225
1258
  if (!this.isEmpty(symbols)) {
1226
1259
  market = this.getMarketFromSymbols(symbols);
1227
- [instType, params] = this.getInstType(market, false, params);
1260
+ [instType, params] = this.getInstType(market, uta, params);
1261
+ }
1262
+ if (uta) {
1263
+ instType = 'UTA';
1228
1264
  }
1229
1265
  messageHash = instType + ':positions' + messageHash;
1230
1266
  const args = {
1231
1267
  'instType': instType,
1232
- 'channel': 'positions',
1233
- 'instId': 'default',
1234
1268
  };
1269
+ const topicOrChannel = uta ? 'topic' : 'channel';
1270
+ const channel = uta ? 'position' : 'positions';
1271
+ args[topicOrChannel] = channel;
1272
+ if (!uta) {
1273
+ args['instId'] = 'default';
1274
+ }
1275
+ else {
1276
+ params = this.extend(params, { 'uta': true });
1277
+ }
1235
1278
  const newPositions = await this.watchPrivate(messageHash, subscriptionHash, args, params);
1236
1279
  if (this.newUpdates) {
1237
1280
  return newPositions;
@@ -1276,7 +1319,46 @@ class bitget extends bitget$1["default"] {
1276
1319
  // "ts": 1701913043767
1277
1320
  // }
1278
1321
  //
1279
- const arg = this.safeValue(message, 'arg', {});
1322
+ // uta
1323
+ //
1324
+ // {
1325
+ // "data": [
1326
+ // {
1327
+ // "symbol": "BTCUSDT",
1328
+ // "leverage": "20",
1329
+ // "openFeeTotal": "",
1330
+ // "mmr": "",
1331
+ // "breakEvenPrice": "",
1332
+ // "available": "0",
1333
+ // "liqPrice": "",
1334
+ // "marginMode": "crossed",
1335
+ // "unrealisedPnl": "0",
1336
+ // "markPrice": "94987.1",
1337
+ // "createdTime": "1736378720620",
1338
+ // "avgPrice": "0",
1339
+ // "totalFundingFee": "0",
1340
+ // "updatedTime": "1736378720620",
1341
+ // "marginCoin": "USDT",
1342
+ // "frozen": "0",
1343
+ // "profitRate": "",
1344
+ // "closeFeeTotal": "",
1345
+ // "marginSize": "0",
1346
+ // "curRealisedPnl": "0",
1347
+ // "size": "0",
1348
+ // "positionStatus": "ended",
1349
+ // "posSide": "long",
1350
+ // "holdMode": "hedge_mode"
1351
+ // }
1352
+ // ],
1353
+ // "arg": {
1354
+ // "instType": "UTA",
1355
+ // "topic": "position"
1356
+ // },
1357
+ // "action": "snapshot",
1358
+ // "ts": 1730711666652
1359
+ // }
1360
+ //
1361
+ const arg = this.safeDict(message, 'arg', {});
1280
1362
  const instType = this.safeString(arg, 'instType', '');
1281
1363
  if (this.positions === undefined) {
1282
1364
  this.positions = {};
@@ -1286,11 +1368,11 @@ class bitget extends bitget$1["default"] {
1286
1368
  this.positions[instType] = new Cache.ArrayCacheBySymbolBySide();
1287
1369
  }
1288
1370
  const cache = this.positions[instType];
1289
- const rawPositions = this.safeValue(message, 'data', []);
1371
+ const rawPositions = this.safeList(message, 'data', []);
1290
1372
  const newPositions = [];
1291
1373
  for (let i = 0; i < rawPositions.length; i++) {
1292
1374
  const rawPosition = rawPositions[i];
1293
- const marketId = this.safeString(rawPosition, 'instId');
1375
+ const marketId = this.safeString2(rawPosition, 'instId', 'symbol');
1294
1376
  const market = this.safeMarket(marketId, undefined, undefined, 'contract');
1295
1377
  const position = this.parseWsPosition(rawPosition, market);
1296
1378
  newPositions.push(position);
@@ -1335,16 +1417,45 @@ class bitget extends bitget$1["default"] {
1335
1417
  // "autoMargin": "off"
1336
1418
  // }
1337
1419
  //
1338
- const marketId = this.safeString(position, 'instId');
1420
+ // uta
1421
+ //
1422
+ // {
1423
+ // "symbol": "BTCUSDT",
1424
+ // "leverage": "20",
1425
+ // "openFeeTotal": "",
1426
+ // "mmr": "",
1427
+ // "breakEvenPrice": "",
1428
+ // "available": "0",
1429
+ // "liqPrice": "",
1430
+ // "marginMode": "crossed",
1431
+ // "unrealisedPnl": "0",
1432
+ // "markPrice": "94987.1",
1433
+ // "createdTime": "1736378720620",
1434
+ // "avgPrice": "0",
1435
+ // "totalFundingFee": "0",
1436
+ // "updatedTime": "1736378720620",
1437
+ // "marginCoin": "USDT",
1438
+ // "frozen": "0",
1439
+ // "profitRate": "",
1440
+ // "closeFeeTotal": "",
1441
+ // "marginSize": "0",
1442
+ // "curRealisedPnl": "0",
1443
+ // "size": "0",
1444
+ // "positionStatus": "ended",
1445
+ // "posSide": "long",
1446
+ // "holdMode": "hedge_mode"
1447
+ // }
1448
+ //
1449
+ const marketId = this.safeString2(position, 'instId', 'symbol');
1339
1450
  const marginModeId = this.safeString(position, 'marginMode');
1340
1451
  const marginMode = this.getSupportedMapping(marginModeId, {
1341
1452
  'crossed': 'cross',
1342
1453
  'isolated': 'isolated',
1343
1454
  });
1344
- const hedgedId = this.safeString(position, 'posMode');
1455
+ const hedgedId = this.safeString2(position, 'posMode', 'holdMode');
1345
1456
  const hedged = (hedgedId === 'hedge_mode') ? true : false;
1346
- const timestamp = this.safeInteger2(position, 'uTime', 'cTime');
1347
- const percentageDecimal = this.safeString(position, 'unrealizedPLR');
1457
+ const timestamp = this.safeIntegerN(position, ['updatedTime', 'uTime', 'cTime', 'createdTime']);
1458
+ const percentageDecimal = this.safeString2(position, 'unrealizedPLR', 'profitRate');
1348
1459
  const percentage = Precise["default"].stringMul(percentageDecimal, '100');
1349
1460
  let contractSize = undefined;
1350
1461
  if (market !== undefined) {
@@ -1356,21 +1467,21 @@ class bitget extends bitget$1["default"] {
1356
1467
  'symbol': this.safeSymbol(marketId, market, undefined, 'contract'),
1357
1468
  'notional': undefined,
1358
1469
  'marginMode': marginMode,
1359
- 'liquidationPrice': this.safeNumber(position, 'liquidationPrice'),
1360
- 'entryPrice': this.safeNumber(position, 'openPriceAvg'),
1361
- 'unrealizedPnl': this.safeNumber(position, 'unrealizedPL'),
1470
+ 'liquidationPrice': this.safeNumber2(position, 'liquidationPrice', 'liqPrice'),
1471
+ 'entryPrice': this.safeNumber2(position, 'openPriceAvg', 'avgPrice'),
1472
+ 'unrealizedPnl': this.safeNumber2(position, 'unrealizedPL', 'unrealisedPnl'),
1362
1473
  'percentage': this.parseNumber(percentage),
1363
- 'contracts': this.safeNumber(position, 'total'),
1474
+ 'contracts': this.safeNumber2(position, 'total', 'size'),
1364
1475
  'contractSize': contractSize,
1365
- 'markPrice': undefined,
1366
- 'side': this.safeString(position, 'holdSide'),
1476
+ 'markPrice': this.safeNumber(position, 'markPrice'),
1477
+ 'side': this.safeString2(position, 'holdSide', 'posSide'),
1367
1478
  'hedged': hedged,
1368
1479
  'timestamp': timestamp,
1369
1480
  'datetime': this.iso8601(timestamp),
1370
1481
  'maintenanceMargin': undefined,
1371
- 'maintenanceMarginPercentage': this.safeNumber(position, 'keepMarginRate'),
1372
- 'collateral': undefined,
1373
- 'initialMargin': undefined,
1482
+ 'maintenanceMarginPercentage': this.safeNumber2(position, 'keepMarginRate', 'mmr'),
1483
+ 'collateral': this.safeNumber(position, 'available'),
1484
+ 'initialMargin': this.safeNumber(position, 'marginSize'),
1374
1485
  'initialMarginPercentage': undefined,
1375
1486
  'leverage': this.safeNumber(position, 'leverage'),
1376
1487
  'marginRatio': this.safeNumber(position, 'marginRate'),
@@ -1385,6 +1496,7 @@ class bitget extends bitget$1["default"] {
1385
1496
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Plan-Order-Channel
1386
1497
  * @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Cross-Orders
1387
1498
  * @see https://www.bitget.com/api-doc/margin/isolated/websocket/private/Isolate-Orders
1499
+ * @see https://www.bitget.com/api-doc/uta/websocket/private/Order-Channel
1388
1500
  * @param {string} symbol unified market symbol of the market orders were made in
1389
1501
  * @param {int} [since] the earliest time in ms to fetch orders for
1390
1502
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -1393,6 +1505,7 @@ class bitget extends bitget$1["default"] {
1393
1505
  * @param {string} [params.marginMode] 'isolated' or 'cross' for watching spot margin orders]
1394
1506
  * @param {string} [params.type] 'spot', 'swap'
1395
1507
  * @param {string} [params.subType] 'linear', 'inverse'
1508
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
1396
1509
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1397
1510
  */
1398
1511
  async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1409,6 +1522,8 @@ class bitget extends bitget$1["default"] {
1409
1522
  marketId = market['id'];
1410
1523
  messageHash = messageHash + ':' + symbol;
1411
1524
  }
1525
+ let uta = undefined;
1526
+ [uta, params] = this.handleOptionAndParams(params, 'watchOrders', 'uta', false);
1412
1527
  const productType = this.safeString(params, 'productType');
1413
1528
  let type = undefined;
1414
1529
  [type, params] = this.handleMarketTypeAndParams('watchOrders', market, params);
@@ -1434,7 +1549,7 @@ class bitget extends bitget$1["default"] {
1434
1549
  instType = 'SPOT';
1435
1550
  }
1436
1551
  else {
1437
- [instType, params] = this.getInstType(market, false, params);
1552
+ [instType, params] = this.getInstType(market, uta, params);
1438
1553
  }
1439
1554
  if (type === 'spot' && (symbol !== undefined)) {
1440
1555
  subscriptionHash = subscriptionHash + ':' + symbol;
@@ -1456,12 +1571,22 @@ class bitget extends bitget$1["default"] {
1456
1571
  channel = 'orders-crossed';
1457
1572
  }
1458
1573
  }
1574
+ if (uta) {
1575
+ instType = 'UTA';
1576
+ channel = 'order';
1577
+ }
1459
1578
  subscriptionHash = subscriptionHash + ':' + instType;
1460
1579
  const args = {
1461
1580
  'instType': instType,
1462
- 'channel': channel,
1463
- 'instId': instId,
1464
1581
  };
1582
+ const topicOrChannel = uta ? 'topic' : 'channel';
1583
+ args[topicOrChannel] = channel;
1584
+ if (!uta) {
1585
+ args['instId'] = instId;
1586
+ }
1587
+ else {
1588
+ params = this.extend(params, { 'uta': true });
1589
+ }
1465
1590
  const orders = await this.watchPrivate(messageHash, subscriptionHash, args, params);
1466
1591
  if (this.newUpdates) {
1467
1592
  limit = orders.getLimit(symbol, limit);
@@ -1503,24 +1628,73 @@ class bitget extends bitget$1["default"] {
1503
1628
  // "ts": 1701923982497
1504
1629
  // }
1505
1630
  //
1631
+ // uta
1632
+ //
1633
+ // {
1634
+ // "action": "snapshot",
1635
+ // "arg": {
1636
+ // "instType": "UTA",
1637
+ // "topic": "order"
1638
+ // },
1639
+ // "data": [
1640
+ // {
1641
+ // "category": "usdt-futures",
1642
+ // "symbol": "BTCUSDT",
1643
+ // "orderId": "xxx",
1644
+ // "clientOid": "xxx",
1645
+ // "price": "",
1646
+ // "qty": "0.001",
1647
+ // "amount": "1000",
1648
+ // "holdMode": "hedge_mode",
1649
+ // "holdSide": "long",
1650
+ // "tradeSide": "open",
1651
+ // "orderType": "market",
1652
+ // "timeInForce": "gtc",
1653
+ // "side": "buy",
1654
+ // "marginMode": "crossed",
1655
+ // "marginCoin": "USDT",
1656
+ // "reduceOnly": "no",
1657
+ // "cumExecQty": "0.001",
1658
+ // "cumExecValue": "83.1315",
1659
+ // "avgPrice": "83131.5",
1660
+ // "totalProfit": "0",
1661
+ // "orderStatus": "filled",
1662
+ // "cancelReason": "",
1663
+ // "leverage": "20",
1664
+ // "feeDetail": [
1665
+ // {
1666
+ // "feeCoin": "USDT",
1667
+ // "fee": "0.0332526"
1668
+ // }
1669
+ // ],
1670
+ // "createdTime": "1742367838101",
1671
+ // "updatedTime": "1742367838115",
1672
+ // "stpMode": "none"
1673
+ // }
1674
+ // ],
1675
+ // "ts": 1742367838124
1676
+ // }
1677
+ //
1506
1678
  const arg = this.safeDict(message, 'arg', {});
1507
- const channel = this.safeString(arg, 'channel');
1508
- const instType = this.safeString(arg, 'instType');
1679
+ const channel = this.safeString2(arg, 'channel', 'topic');
1680
+ const instType = this.safeStringLower(arg, 'instType');
1509
1681
  const argInstId = this.safeString(arg, 'instId');
1510
1682
  let marketType = undefined;
1511
- if (instType === 'SPOT') {
1683
+ if (instType === 'spot') {
1512
1684
  marketType = 'spot';
1513
1685
  }
1514
- else if (instType === 'MARGIN') {
1686
+ else if (instType === 'margin') {
1515
1687
  marketType = 'spot';
1516
1688
  }
1517
1689
  else {
1518
1690
  marketType = 'contract';
1519
1691
  }
1520
- const isLinearSwap = (instType === 'USDT-FUTURES');
1521
- const isInverseSwap = (instType === 'COIN-FUTURES');
1522
- const isUSDCFutures = (instType === 'USDC-FUTURES');
1523
- const data = this.safeValue(message, 'data', []);
1692
+ const data = this.safeList(message, 'data', []);
1693
+ const first = this.safeDict(data, 0, {});
1694
+ const category = this.safeStringLower(first, 'category', instType);
1695
+ const isLinearSwap = (category === 'usdt-futures');
1696
+ const isInverseSwap = (category === 'coin-futures');
1697
+ const isUSDCFutures = (category === 'usdc-futures');
1524
1698
  if (this.orders === undefined) {
1525
1699
  const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
1526
1700
  this.orders = new Cache.ArrayCacheBySymbolById(limit);
@@ -1532,7 +1706,7 @@ class bitget extends bitget$1["default"] {
1532
1706
  const marketSymbols = {};
1533
1707
  for (let i = 0; i < data.length; i++) {
1534
1708
  const order = data[i];
1535
- const marketId = this.safeString(order, 'instId', argInstId);
1709
+ const marketId = this.safeString2(order, 'instId', 'symbol', argInstId);
1536
1710
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
1537
1711
  const parsed = this.parseWsOrder(order, market);
1538
1712
  stored.append(parsed);
@@ -1680,13 +1854,57 @@ class bitget extends bitget$1["default"] {
1680
1854
  // orderId: "1183419084588060673",
1681
1855
  // }
1682
1856
  //
1683
- const isSpot = !('posMode' in order);
1684
- const isMargin = ('loanType' in order);
1685
- const marketId = this.safeString(order, 'instId');
1857
+ // uta
1858
+ //
1859
+ // {
1860
+ // "category": "usdt-futures",
1861
+ // "symbol": "BTCUSDT",
1862
+ // "orderId": "xxx",
1863
+ // "clientOid": "xxx",
1864
+ // "price": "",
1865
+ // "qty": "0.001",
1866
+ // "amount": "1000",
1867
+ // "holdMode": "hedge_mode",
1868
+ // "holdSide": "long",
1869
+ // "tradeSide": "open",
1870
+ // "orderType": "market",
1871
+ // "timeInForce": "gtc",
1872
+ // "side": "buy",
1873
+ // "marginMode": "crossed",
1874
+ // "marginCoin": "USDT",
1875
+ // "reduceOnly": "no",
1876
+ // "cumExecQty": "0.001",
1877
+ // "cumExecValue": "83.1315",
1878
+ // "avgPrice": "83131.5",
1879
+ // "totalProfit": "0",
1880
+ // "orderStatus": "filled",
1881
+ // "cancelReason": "",
1882
+ // "leverage": "20",
1883
+ // "feeDetail": [
1884
+ // {
1885
+ // "feeCoin": "USDT",
1886
+ // "fee": "0.0332526"
1887
+ // }
1888
+ // ],
1889
+ // "createdTime": "1742367838101",
1890
+ // "updatedTime": "1742367838115",
1891
+ // "stpMode": "none"
1892
+ // }
1893
+ //
1894
+ let isSpot = !('posMode' in order);
1895
+ let isMargin = ('loanType' in order);
1896
+ const category = this.safeStringLower(order, 'category');
1897
+ if (category === 'spot') {
1898
+ isSpot = true;
1899
+ }
1900
+ if (category === 'margin') {
1901
+ isMargin = true;
1902
+ }
1903
+ const marketId = this.safeString2(order, 'instId', 'symbol');
1686
1904
  market = this.safeMarket(marketId, market);
1687
- const timestamp = this.safeInteger(order, 'cTime');
1905
+ const timestamp = this.safeInteger2(order, 'cTime', 'createdTime');
1688
1906
  const symbol = market['symbol'];
1689
- const rawStatus = this.safeString(order, 'status');
1907
+ const rawStatus = this.safeString2(order, 'status', 'orderStatus');
1690
1908
  const orderFee = this.safeValue(order, 'feeDetail', []);
1691
1909
  const fee = this.safeValue(orderFee, 0);
1692
1910
  const feeAmount = this.safeString(fee, 'fee');
@@ -1708,23 +1926,23 @@ class bitget extends bitget$1["default"] {
1708
1926
  // for spot trigger order, limit price is this
1709
1927
  price = this.safeNumber(order, 'executePrice');
1710
1928
  }
1711
- const avgPrice = this.omitZero(this.safeString2(order, 'priceAvg', 'fillPrice'));
1929
+ const avgPrice = this.omitZero(this.safeStringLowerN(order, ['priceAvg', 'fillPrice', 'avgPrice']));
1712
1930
  const side = this.safeString(order, 'side');
1713
1931
  const type = this.safeString(order, 'orderType');
1714
- const accBaseVolume = this.omitZero(this.safeString(order, 'accBaseVolume'));
1715
- const newSizeValue = this.omitZero(this.safeString(order, 'newSize'));
1932
+ const accBaseVolume = this.omitZero(this.safeString2(order, 'accBaseVolume', 'cumExecQty'));
1933
+ const newSizeValue = this.omitZero(this.safeString2(order, 'newSize', 'cumExecValue'));
1716
1934
  const isMarketOrder = (type === 'market');
1717
1935
  const isBuy = (side === 'buy');
1718
1936
  let totalAmount = undefined;
1719
1937
  let filledAmount = undefined;
1720
1938
  let cost = undefined;
1721
1939
  let remaining = undefined;
1722
- let totalFilled = this.safeString(order, 'accBaseVolume');
1940
+ let totalFilled = this.safeString2(order, 'accBaseVolume', 'cumExecQty');
1723
1941
  if (isSpot) {
1724
1942
  if (isMargin) {
1725
- totalAmount = this.safeString(order, 'baseSize');
1726
- totalFilled = this.safeString(order, 'baseVolume');
1727
- cost = this.safeString(order, 'fillTotalAmount');
1943
+ totalAmount = this.safeString2(order, 'baseSize', 'qty');
1944
+ totalFilled = this.safeString2(order, 'baseVolume', 'cumExecQty');
1945
+ cost = this.safeString2(order, 'fillTotalAmount', 'cumExecValue');
1728
1946
  }
1729
1947
  else {
1730
1948
  const partialFillAmount = this.safeString(order, 'baseVolume');
@@ -1745,16 +1963,16 @@ class bitget extends bitget$1["default"] {
1745
1963
  }
1746
1964
  }
1747
1965
  else {
1748
- totalAmount = this.safeString(order, 'newSize');
1966
+ totalAmount = this.safeString2(order, 'newSize', 'qty');
1749
1967
  // we don't have cost for limit order
1750
1968
  }
1751
1969
  }
1752
1970
  }
1753
1971
  else {
1754
1972
  // baseVolume should not be used for "amount" for contracts !
1755
- filledAmount = this.safeString(order, 'baseVolume');
1756
- totalAmount = this.safeString(order, 'size');
1757
- cost = this.safeString(order, 'fillNotionalUsd');
1973
+ filledAmount = this.safeString2(order, 'baseVolume', 'cumExecQty');
1974
+ totalAmount = this.safeString2(order, 'size', 'qty');
1975
+ cost = this.safeString2(order, 'fillNotionalUsd', 'cumExecValue');
1758
1976
  }
1759
1977
  remaining = Precise["default"].stringSub(totalAmount, totalFilled);
1760
1978
  return this.safeOrder({
@@ -1764,9 +1982,9 @@ class bitget extends bitget$1["default"] {
1764
1982
  'clientOrderId': this.safeString(order, 'clientOid'),
1765
1983
  'timestamp': timestamp,
1766
1984
  'datetime': this.iso8601(timestamp),
1767
- 'lastTradeTimestamp': this.safeInteger(order, 'uTime'),
1985
+ 'lastTradeTimestamp': this.safeInteger2(order, 'uTime', 'updatedTime'),
1768
1986
  'type': type,
1769
- 'timeInForce': this.safeStringUpper(order, 'force'),
1987
+ 'timeInForce': this.safeStringUpper2(order, 'force', 'timeInForce'),
1770
1988
  'postOnly': undefined,
1771
1989
  'side': side,
1772
1990
  'price': price,
@@ -1837,7 +2055,7 @@ class bitget extends bitget$1["default"] {
1837
2055
  args['instId'] = 'default';
1838
2056
  }
1839
2057
  else {
1840
- params['uta'] = true;
2058
+ params = this.extend(params, { 'uta': true });
1841
2059
  }
1842
2060
  const trades = await this.watchPrivate(messageHash, subscriptionHash, args, params);
1843
2061
  if (this.newUpdates) {
@@ -1981,13 +2199,17 @@ class bitget extends bitget$1["default"] {
1981
2199
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Account-Channel
1982
2200
  * @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Margin-Cross-Account-Assets
1983
2201
  * @see https://www.bitget.com/api-doc/margin/isolated/websocket/private/Margin-isolated-account-assets
2202
+ * @see https://www.bitget.com/api-doc/uta/websocket/private/Account-Channel
1984
2203
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1985
2204
  * @param {str} [params.type] spot or contract if not provided this.options['defaultType'] is used
1986
2205
  * @param {string} [params.instType] one of 'SPOT', 'MARGIN', 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES'
1987
2206
  * @param {string} [params.marginMode] 'isolated' or 'cross' for watching spot margin balances
2207
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
1988
2208
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1989
2209
  */
1990
2210
  async watchBalance(params = {}) {
2211
+ let uta = undefined;
2212
+ [uta, params] = this.handleOptionAndParams(params, 'watchBalance', 'uta', false);
1991
2213
  let type = undefined;
1992
2214
  [type, params] = this.handleMarketTypeAndParams('watchBalance', undefined, params);
1993
2215
  let marginMode = undefined;
@@ -1999,22 +2221,33 @@ class bitget extends bitget$1["default"] {
1999
2221
  }
2000
2222
  else if (marginMode !== undefined) {
2001
2223
  instType = 'MARGIN';
2002
- if (marginMode === 'isolated') {
2003
- channel = 'account-isolated';
2004
- }
2005
- else {
2006
- channel = 'account-crossed';
2224
+ if (!uta) {
2225
+ if (marginMode === 'isolated') {
2226
+ channel = 'account-isolated';
2227
+ }
2228
+ else {
2229
+ channel = 'account-crossed';
2230
+ }
2007
2231
  }
2008
2232
  }
2009
- else {
2233
+ else if (!uta) {
2010
2234
  instType = 'SPOT';
2011
2235
  }
2012
2236
  [instType, params] = this.handleOptionAndParams(params, 'watchBalance', 'instType', instType);
2237
+ if (uta) {
2238
+ instType = 'UTA';
2239
+ }
2013
2240
  const args = {
2014
2241
  'instType': instType,
2015
- 'channel': channel,
2016
- 'coin': 'default',
2017
2242
  };
2243
+ const topicOrChannel = uta ? 'topic' : 'channel';
2244
+ args[topicOrChannel] = channel;
2245
+ if (!uta) {
2246
+ args['coin'] = 'default';
2247
+ }
2248
+ else {
2249
+ params = this.extend(params, { 'uta': true });
2250
+ }
2018
2251
  const messageHash = 'balance:' + instType.toLowerCase();
2019
2252
  return await this.watchPrivate(messageHash, messageHash, args, params);
2020
2253
  }
@@ -2077,26 +2310,76 @@ class bitget extends bitget$1["default"] {
2077
2310
  // "ts": 1701933110544
2078
2311
  // }
2079
2312
  //
2313
+ // uta
2314
+ //
2315
+ // {
2316
+ // "data": [{
2317
+ // "unrealisedPnL": "-10116.55",
2318
+ // "totalEquity": "4976919.05",
2319
+ // "positionMgnRatio": "0",
2320
+ // "mmr": "408.08",
2321
+ // "effEquity": "4847952.35",
2322
+ // "imr": "17795.97",
2323
+ // "mgnRatio": "0",
2324
+ // "coin": [{
2325
+ // "debts": "0",
2326
+ // "balance": "0.9992",
2327
+ // "available": "0.9992",
2328
+ // "borrow": "0",
2329
+ // "locked": "0",
2330
+ // "equity": "0.9992",
2331
+ // "coin": "ETH",
2332
+ // "usdValue": "2488.667472"
2333
+ // }]
2334
+ // }],
2335
+ // "arg": {
2336
+ // "instType": "UTA",
2337
+ // "topic": "account"
2338
+ // },
2339
+ // "action": "snapshot",
2340
+ // "ts": 1740546523244
2341
+ // }
2342
+ //
2343
+ const arg = this.safeDict(message, 'arg', {});
2344
+ const instType = this.safeStringLower(arg, 'instType');
2080
2345
  const data = this.safeValue(message, 'data', []);
2081
2346
  for (let i = 0; i < data.length; i++) {
2082
2347
  const rawBalance = data[i];
2083
- const currencyId = this.safeString2(rawBalance, 'coin', 'marginCoin');
2084
- const code = this.safeCurrencyCode(currencyId);
2085
- const account = (code in this.balance) ? this.balance[code] : this.account();
2086
- const borrow = this.safeString(rawBalance, 'borrow');
2087
- if (borrow !== undefined) {
2088
- const interest = this.safeString(rawBalance, 'interest');
2089
- account['debt'] = Precise["default"].stringAdd(borrow, interest);
2348
+ if (instType === 'uta') {
2349
+ const coins = this.safeList(rawBalance, 'coin', []);
2350
+ for (let j = 0; j < coins.length; j++) {
2351
+ const entry = coins[j];
2352
+ const currencyId = this.safeString(entry, 'coin');
2353
+ const code = this.safeCurrencyCode(currencyId);
2354
+ const account = (code in this.balance) ? this.balance[code] : this.account();
2355
+ const borrow = this.safeString(entry, 'borrow');
2356
+ const debts = this.safeString(entry, 'debts');
2357
+ if ((borrow !== undefined) || (debts !== undefined)) {
2358
+ account['debt'] = Precise["default"].stringAdd(borrow, debts);
2359
+ }
2360
+ account['free'] = this.safeString(entry, 'available');
2361
+ account['used'] = this.safeString(entry, 'locked');
2362
+ account['total'] = this.safeString(entry, 'balance');
2363
+ this.balance[code] = account;
2364
+ }
2365
+ }
2366
+ else {
2367
+ const currencyId = this.safeString2(rawBalance, 'coin', 'marginCoin');
2368
+ const code = this.safeCurrencyCode(currencyId);
2369
+ const account = (code in this.balance) ? this.balance[code] : this.account();
2370
+ const borrow = this.safeString(rawBalance, 'borrow');
2371
+ if (borrow !== undefined) {
2372
+ const interest = this.safeString(rawBalance, 'interest');
2373
+ account['debt'] = Precise["default"].stringAdd(borrow, interest);
2374
+ }
2375
+ const freeQuery = ('maxTransferOut' in rawBalance) ? 'maxTransferOut' : 'available';
2376
+ account['free'] = this.safeString(rawBalance, freeQuery);
2377
+ account['total'] = this.safeString(rawBalance, 'equity');
2378
+ account['used'] = this.safeString(rawBalance, 'frozen');
2379
+ this.balance[code] = account;
2090
2380
  }
2091
- const freeQuery = ('maxTransferOut' in rawBalance) ? 'maxTransferOut' : 'available';
2092
- account['free'] = this.safeString(rawBalance, freeQuery);
2093
- account['total'] = this.safeString(rawBalance, 'equity');
2094
- account['used'] = this.safeString(rawBalance, 'frozen');
2095
- this.balance[code] = account;
2096
2381
  }
2097
2382
  this.balance = this.safeBalance(this.balance);
2098
- const arg = this.safeValue(message, 'arg');
2099
- const instType = this.safeStringLower(arg, 'instType');
2100
2383
  const messageHash = 'balance:' + instType;
2101
2384
  client.resolve(this.balance, messageHash);
2102
2385
  }
@@ -2396,12 +2679,14 @@ class bitget extends bitget$1["default"] {
2396
2679
  'trade': this.handleTrades,
2397
2680
  'publicTrade': this.handleTrades,
2398
2681
  'fill': this.handleMyTrades,
2682
+ 'order': this.handleOrder,
2399
2683
  'orders': this.handleOrder,
2400
2684
  'ordersAlgo': this.handleOrder,
2401
2685
  'orders-algo': this.handleOrder,
2402
2686
  'orders-crossed': this.handleOrder,
2403
2687
  'orders-isolated': this.handleOrder,
2404
2688
  'account': this.handleBalance,
2689
+ 'position': this.handlePositions,
2405
2690
  'positions': this.handlePositions,
2406
2691
  'account-isolated': this.handleBalance,
2407
2692
  'account-crossed': this.handleBalance,