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
@@ -1,9 +1,3 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
1
  // ---------------------------------------------------------------------------
8
2
  import bitgetRest from '../bitget.js';
9
3
  import { AuthenticationError, BadRequest, ArgumentsRequired, ChecksumError, ExchangeError, RateLimitExceeded, UnsubscribeError } from '../base/errors.js';
@@ -514,7 +508,7 @@ export default class bitget extends bitgetRest {
514
508
  args['topic'] = 'kline';
515
509
  args['symbol'] = market['id'];
516
510
  args['interval'] = interval;
517
- params['uta'] = true;
511
+ params = this.extend(params, { 'uta': true });
518
512
  messageHash = 'kline:' + symbol;
519
513
  }
520
514
  else {
@@ -563,7 +557,7 @@ export default class bitget extends bitgetRest {
563
557
  args['topic'] = channel;
564
558
  args['symbol'] = market['id'];
565
559
  args['interval'] = interval;
566
- params['uta'] = true;
560
+ params = this.extend(params, { 'uta': true });
567
561
  params['interval'] = interval;
568
562
  messageHash = channel + symbol;
569
563
  }
@@ -713,9 +707,11 @@ export default class bitget extends bitgetRest {
713
707
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
714
708
  * @see https://www.bitget.com/api-doc/spot/websocket/public/Depth-Channel
715
709
  * @see https://www.bitget.com/api-doc/contract/websocket/public/Order-Book-Channel
710
+ * @see https://www.bitget.com/api-doc/uta/websocket/public/Order-Book-Channel
716
711
  * @param {string} symbol unified symbol of the market to fetch the order book for
717
712
  * @param {int} [limit] the maximum amount of order book entries to return
718
713
  * @param {object} [params] extra parameters specific to the exchange API endpoint
714
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
719
715
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
720
716
  */
721
717
  async watchOrderBook(symbol, limit = undefined, params = {}) {
@@ -727,16 +723,18 @@ export default class bitget extends bitgetRest {
727
723
  * @description unsubscribe from the orderbook channel
728
724
  * @see https://www.bitget.com/api-doc/spot/websocket/public/Depth-Channel
729
725
  * @see https://www.bitget.com/api-doc/contract/websocket/public/Order-Book-Channel
726
+ * @see https://www.bitget.com/api-doc/uta/websocket/public/Order-Book-Channel
730
727
  * @param {string} symbol unified symbol of the market to fetch the order book for
731
728
  * @param {object} [params] extra parameters specific to the exchange API endpoint
732
729
  * @param {int} [params.limit] orderbook limit, default is undefined
730
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
733
731
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
734
732
  */
735
733
  async unWatchOrderBook(symbol, params = {}) {
736
734
  await this.loadMarkets();
737
735
  let channel = 'books';
738
736
  const limit = this.safeInteger(params, 'limit');
739
- if ((limit === 1) || (limit === 5) || (limit === 15)) {
737
+ if ((limit === 1) || (limit === 5) || (limit === 15) || (limit === 50)) {
740
738
  params = this.omit(params, 'limit');
741
739
  channel += limit.toString();
742
740
  }
@@ -757,7 +755,7 @@ export default class bitget extends bitgetRest {
757
755
  args['topic'] = channel;
758
756
  args['symbol'] = market['id'];
759
757
  args['interval'] = this.safeString(params, 'interval', '1m');
760
- params['uta'] = true;
758
+ params = this.extend(params, { 'uta': true });
761
759
  params = this.omit(params, 'interval');
762
760
  }
763
761
  else {
@@ -772,9 +770,11 @@ export default class bitget extends bitgetRest {
772
770
  * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
773
771
  * @see https://www.bitget.com/api-doc/spot/websocket/public/Depth-Channel
774
772
  * @see https://www.bitget.com/api-doc/contract/websocket/public/Order-Book-Channel
773
+ * @see https://www.bitget.com/api-doc/uta/websocket/public/Order-Book-Channel
775
774
  * @param {string[]} symbols unified array of symbols
776
775
  * @param {int} [limit] the maximum amount of order book entries to return
777
776
  * @param {object} [params] extra parameters specific to the exchange API endpoint
777
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
778
778
  * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
779
779
  */
780
780
  async watchOrderBookForSymbols(symbols, limit = undefined, params = {}) {
@@ -782,25 +782,32 @@ export default class bitget extends bitgetRest {
782
782
  symbols = this.marketSymbols(symbols);
783
783
  let channel = 'books';
784
784
  let incrementalFeed = true;
785
- if ((limit === 1) || (limit === 5) || (limit === 15)) {
785
+ if ((limit === 1) || (limit === 5) || (limit === 15) || (limit === 50)) {
786
786
  channel += limit.toString();
787
787
  incrementalFeed = false;
788
788
  }
789
789
  const topics = [];
790
790
  const messageHashes = [];
791
+ let uta = undefined;
792
+ [uta, params] = this.handleOptionAndParams(params, 'watchOrderBookForSymbols', 'uta', false);
791
793
  for (let i = 0; i < symbols.length; i++) {
792
794
  const symbol = symbols[i];
793
795
  const market = this.market(symbol);
794
796
  let instType = undefined;
795
- [instType, params] = this.getInstType(market, false, params);
797
+ [instType, params] = this.getInstType(market, uta, params);
796
798
  const args = {
797
799
  'instType': instType,
798
- 'channel': channel,
799
- 'instId': market['id'],
800
800
  };
801
+ const topicOrChannel = uta ? 'topic' : 'channel';
802
+ const symbolOrInstId = uta ? 'symbol' : 'instId';
803
+ args[topicOrChannel] = channel;
804
+ args[symbolOrInstId] = market['id'];
801
805
  topics.push(args);
802
806
  messageHashes.push('orderbook:' + symbol);
803
807
  }
808
+ if (uta) {
809
+ params['uta'] = true;
810
+ }
804
811
  const orderbook = await this.watchPublicMultiple(messageHashes, topics, params);
805
812
  if (incrementalFeed) {
806
813
  return orderbook.limit();
@@ -840,11 +847,27 @@ export default class bitget extends bitgetRest {
840
847
  // ]
841
848
  // }
842
849
  //
850
+ // {
851
+ // "action": "snapshot",
852
+ // "arg": { "instType": "usdt-futures", "topic": "books", "symbol": "BTCUSDT" },
853
+ // "data": [
854
+ // {
855
+ // "a": [Array],
856
+ // "b": [Array],
857
+ // "checksum": 0,
858
+ // "pseq": 0,
859
+ // "seq": "1343064377779269632",
860
+ // "ts": "1755937421270"
861
+ // }
862
+ // ],
863
+ // "ts": 1755937421337
864
+ // }
865
+ //
843
866
  const arg = this.safeValue(message, 'arg');
844
- const channel = this.safeString(arg, 'channel');
845
- const instType = this.safeString(arg, 'instType');
846
- const marketType = (instType === 'SPOT') ? 'spot' : 'contract';
847
- const marketId = this.safeString(arg, 'instId');
867
+ const channel = this.safeString2(arg, 'channel', 'topic');
868
+ const instType = this.safeStringLower(arg, 'instType');
869
+ const marketType = (instType === 'spot') ? 'spot' : 'contract';
870
+ const marketId = this.safeString2(arg, 'instId', 'symbol');
848
871
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
849
872
  const symbol = market['symbol'];
850
873
  const messageHash = 'orderbook:' + symbol;
@@ -861,8 +884,8 @@ export default class bitget extends bitgetRest {
861
884
  this.orderbooks[symbol] = ob;
862
885
  }
863
886
  const storedOrderBook = this.orderbooks[symbol];
864
- const asks = this.safeValue(rawOrderBook, 'asks', []);
865
- const bids = this.safeValue(rawOrderBook, 'bids', []);
887
+ const asks = this.safeList2(rawOrderBook, 'asks', 'a', []);
888
+ const bids = this.safeList2(rawOrderBook, 'bids', 'b', []);
866
889
  this.handleDeltas(storedOrderBook['asks'], asks);
867
890
  this.handleDeltas(storedOrderBook['bids'], bids);
868
891
  storedOrderBook['timestamp'] = timestamp;
@@ -981,7 +1004,7 @@ export default class bitget extends bitgetRest {
981
1004
  messageHashes.push('trade:' + symbol);
982
1005
  }
983
1006
  if (uta) {
984
- params['uta'] = true;
1007
+ params = this.extend(params, { 'uta': true });
985
1008
  }
986
1009
  const trades = await this.watchPublicMultiple(messageHashes, topics, params);
987
1010
  if (this.newUpdates) {
@@ -1215,11 +1238,13 @@ export default class bitget extends bitgetRest {
1215
1238
  * @name bitget#watchPositions
1216
1239
  * @description watch all open positions
1217
1240
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Positions-Channel
1241
+ * @see https://www.bitget.com/api-doc/uta/websocket/private/Positions-Channel
1218
1242
  * @param {string[]|undefined} symbols list of unified market symbols
1219
1243
  * @param {int} [since] the earliest time in ms to fetch positions for
1220
1244
  * @param {int} [limit] the maximum number of positions to retrieve
1221
1245
  * @param {object} params extra parameters specific to the exchange API endpoint
1222
1246
  * @param {string} [params.instType] one of 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES', default is 'USDT-FUTURES'
1247
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
1223
1248
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
1224
1249
  */
1225
1250
  async watchPositions(symbols = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1228,17 +1253,29 @@ export default class bitget extends bitgetRest {
1228
1253
  let messageHash = '';
1229
1254
  const subscriptionHash = 'positions';
1230
1255
  let instType = 'USDT-FUTURES';
1256
+ let uta = undefined;
1257
+ [uta, params] = this.handleOptionAndParams(params, 'watchPositions', 'uta', false);
1231
1258
  symbols = this.marketSymbols(symbols);
1232
1259
  if (!this.isEmpty(symbols)) {
1233
1260
  market = this.getMarketFromSymbols(symbols);
1234
- [instType, params] = this.getInstType(market, false, params);
1261
+ [instType, params] = this.getInstType(market, uta, params);
1262
+ }
1263
+ if (uta) {
1264
+ instType = 'UTA';
1235
1265
  }
1236
1266
  messageHash = instType + ':positions' + messageHash;
1237
1267
  const args = {
1238
1268
  'instType': instType,
1239
- 'channel': 'positions',
1240
- 'instId': 'default',
1241
1269
  };
1270
+ const topicOrChannel = uta ? 'topic' : 'channel';
1271
+ const channel = uta ? 'position' : 'positions';
1272
+ args[topicOrChannel] = channel;
1273
+ if (!uta) {
1274
+ args['instId'] = 'default';
1275
+ }
1276
+ else {
1277
+ params = this.extend(params, { 'uta': true });
1278
+ }
1242
1279
  const newPositions = await this.watchPrivate(messageHash, subscriptionHash, args, params);
1243
1280
  if (this.newUpdates) {
1244
1281
  return newPositions;
@@ -1283,7 +1320,46 @@ export default class bitget extends bitgetRest {
1283
1320
  // "ts": 1701913043767
1284
1321
  // }
1285
1322
  //
1286
- const arg = this.safeValue(message, 'arg', {});
1323
+ // uta
1324
+ //
1325
+ // {
1326
+ // "data": [
1327
+ // {
1328
+ // "symbol": "BTCUSDT",
1329
+ // "leverage": "20",
1330
+ // "openFeeTotal": "",
1331
+ // "mmr": "",
1332
+ // "breakEvenPrice": "",
1333
+ // "available": "0",
1334
+ // "liqPrice": "",
1335
+ // "marginMode": "crossed",
1336
+ // "unrealisedPnl": "0",
1337
+ // "markPrice": "94987.1",
1338
+ // "createdTime": "1736378720620",
1339
+ // "avgPrice": "0",
1340
+ // "totalFundingFee": "0",
1341
+ // "updatedTime": "1736378720620",
1342
+ // "marginCoin": "USDT",
1343
+ // "frozen": "0",
1344
+ // "profitRate": "",
1345
+ // "closeFeeTotal": "",
1346
+ // "marginSize": "0",
1347
+ // "curRealisedPnl": "0",
1348
+ // "size": "0",
1349
+ // "positionStatus": "ended",
1350
+ // "posSide": "long",
1351
+ // "holdMode": "hedge_mode"
1352
+ // }
1353
+ // ],
1354
+ // "arg": {
1355
+ // "instType": "UTA",
1356
+ // "topic": "position"
1357
+ // },
1358
+ // "action": "snapshot",
1359
+ // "ts": 1730711666652
1360
+ // }
1361
+ //
1362
+ const arg = this.safeDict(message, 'arg', {});
1287
1363
  const instType = this.safeString(arg, 'instType', '');
1288
1364
  if (this.positions === undefined) {
1289
1365
  this.positions = {};
@@ -1293,11 +1369,11 @@ export default class bitget extends bitgetRest {
1293
1369
  this.positions[instType] = new ArrayCacheBySymbolBySide();
1294
1370
  }
1295
1371
  const cache = this.positions[instType];
1296
- const rawPositions = this.safeValue(message, 'data', []);
1372
+ const rawPositions = this.safeList(message, 'data', []);
1297
1373
  const newPositions = [];
1298
1374
  for (let i = 0; i < rawPositions.length; i++) {
1299
1375
  const rawPosition = rawPositions[i];
1300
- const marketId = this.safeString(rawPosition, 'instId');
1376
+ const marketId = this.safeString2(rawPosition, 'instId', 'symbol');
1301
1377
  const market = this.safeMarket(marketId, undefined, undefined, 'contract');
1302
1378
  const position = this.parseWsPosition(rawPosition, market);
1303
1379
  newPositions.push(position);
@@ -1342,16 +1418,45 @@ export default class bitget extends bitgetRest {
1342
1418
  // "autoMargin": "off"
1343
1419
  // }
1344
1420
  //
1345
- const marketId = this.safeString(position, 'instId');
1421
+ // uta
1422
+ //
1423
+ // {
1424
+ // "symbol": "BTCUSDT",
1425
+ // "leverage": "20",
1426
+ // "openFeeTotal": "",
1427
+ // "mmr": "",
1428
+ // "breakEvenPrice": "",
1429
+ // "available": "0",
1430
+ // "liqPrice": "",
1431
+ // "marginMode": "crossed",
1432
+ // "unrealisedPnl": "0",
1433
+ // "markPrice": "94987.1",
1434
+ // "createdTime": "1736378720620",
1435
+ // "avgPrice": "0",
1436
+ // "totalFundingFee": "0",
1437
+ // "updatedTime": "1736378720620",
1438
+ // "marginCoin": "USDT",
1439
+ // "frozen": "0",
1440
+ // "profitRate": "",
1441
+ // "closeFeeTotal": "",
1442
+ // "marginSize": "0",
1443
+ // "curRealisedPnl": "0",
1444
+ // "size": "0",
1445
+ // "positionStatus": "ended",
1446
+ // "posSide": "long",
1447
+ // "holdMode": "hedge_mode"
1448
+ // }
1449
+ //
1450
+ const marketId = this.safeString2(position, 'instId', 'symbol');
1346
1451
  const marginModeId = this.safeString(position, 'marginMode');
1347
1452
  const marginMode = this.getSupportedMapping(marginModeId, {
1348
1453
  'crossed': 'cross',
1349
1454
  'isolated': 'isolated',
1350
1455
  });
1351
- const hedgedId = this.safeString(position, 'posMode');
1456
+ const hedgedId = this.safeString2(position, 'posMode', 'holdMode');
1352
1457
  const hedged = (hedgedId === 'hedge_mode') ? true : false;
1353
- const timestamp = this.safeInteger2(position, 'uTime', 'cTime');
1354
- const percentageDecimal = this.safeString(position, 'unrealizedPLR');
1458
+ const timestamp = this.safeIntegerN(position, ['updatedTime', 'uTime', 'cTime', 'createdTime']);
1459
+ const percentageDecimal = this.safeString2(position, 'unrealizedPLR', 'profitRate');
1355
1460
  const percentage = Precise.stringMul(percentageDecimal, '100');
1356
1461
  let contractSize = undefined;
1357
1462
  if (market !== undefined) {
@@ -1363,21 +1468,21 @@ export default class bitget extends bitgetRest {
1363
1468
  'symbol': this.safeSymbol(marketId, market, undefined, 'contract'),
1364
1469
  'notional': undefined,
1365
1470
  'marginMode': marginMode,
1366
- 'liquidationPrice': this.safeNumber(position, 'liquidationPrice'),
1367
- 'entryPrice': this.safeNumber(position, 'openPriceAvg'),
1368
- 'unrealizedPnl': this.safeNumber(position, 'unrealizedPL'),
1471
+ 'liquidationPrice': this.safeNumber2(position, 'liquidationPrice', 'liqPrice'),
1472
+ 'entryPrice': this.safeNumber2(position, 'openPriceAvg', 'avgPrice'),
1473
+ 'unrealizedPnl': this.safeNumber2(position, 'unrealizedPL', 'unrealisedPnl'),
1369
1474
  'percentage': this.parseNumber(percentage),
1370
- 'contracts': this.safeNumber(position, 'total'),
1475
+ 'contracts': this.safeNumber2(position, 'total', 'size'),
1371
1476
  'contractSize': contractSize,
1372
- 'markPrice': undefined,
1373
- 'side': this.safeString(position, 'holdSide'),
1477
+ 'markPrice': this.safeNumber(position, 'markPrice'),
1478
+ 'side': this.safeString2(position, 'holdSide', 'posSide'),
1374
1479
  'hedged': hedged,
1375
1480
  'timestamp': timestamp,
1376
1481
  'datetime': this.iso8601(timestamp),
1377
1482
  'maintenanceMargin': undefined,
1378
- 'maintenanceMarginPercentage': this.safeNumber(position, 'keepMarginRate'),
1379
- 'collateral': undefined,
1380
- 'initialMargin': undefined,
1483
+ 'maintenanceMarginPercentage': this.safeNumber2(position, 'keepMarginRate', 'mmr'),
1484
+ 'collateral': this.safeNumber(position, 'available'),
1485
+ 'initialMargin': this.safeNumber(position, 'marginSize'),
1381
1486
  'initialMarginPercentage': undefined,
1382
1487
  'leverage': this.safeNumber(position, 'leverage'),
1383
1488
  'marginRatio': this.safeNumber(position, 'marginRate'),
@@ -1392,6 +1497,7 @@ export default class bitget extends bitgetRest {
1392
1497
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Plan-Order-Channel
1393
1498
  * @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Cross-Orders
1394
1499
  * @see https://www.bitget.com/api-doc/margin/isolated/websocket/private/Isolate-Orders
1500
+ * @see https://www.bitget.com/api-doc/uta/websocket/private/Order-Channel
1395
1501
  * @param {string} symbol unified market symbol of the market orders were made in
1396
1502
  * @param {int} [since] the earliest time in ms to fetch orders for
1397
1503
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -1400,6 +1506,7 @@ export default class bitget extends bitgetRest {
1400
1506
  * @param {string} [params.marginMode] 'isolated' or 'cross' for watching spot margin orders]
1401
1507
  * @param {string} [params.type] 'spot', 'swap'
1402
1508
  * @param {string} [params.subType] 'linear', 'inverse'
1509
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
1403
1510
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1404
1511
  */
1405
1512
  async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -1416,6 +1523,8 @@ export default class bitget extends bitgetRest {
1416
1523
  marketId = market['id'];
1417
1524
  messageHash = messageHash + ':' + symbol;
1418
1525
  }
1526
+ let uta = undefined;
1527
+ [uta, params] = this.handleOptionAndParams(params, 'watchOrders', 'uta', false);
1419
1528
  const productType = this.safeString(params, 'productType');
1420
1529
  let type = undefined;
1421
1530
  [type, params] = this.handleMarketTypeAndParams('watchOrders', market, params);
@@ -1441,7 +1550,7 @@ export default class bitget extends bitgetRest {
1441
1550
  instType = 'SPOT';
1442
1551
  }
1443
1552
  else {
1444
- [instType, params] = this.getInstType(market, false, params);
1553
+ [instType, params] = this.getInstType(market, uta, params);
1445
1554
  }
1446
1555
  if (type === 'spot' && (symbol !== undefined)) {
1447
1556
  subscriptionHash = subscriptionHash + ':' + symbol;
@@ -1463,12 +1572,22 @@ export default class bitget extends bitgetRest {
1463
1572
  channel = 'orders-crossed';
1464
1573
  }
1465
1574
  }
1575
+ if (uta) {
1576
+ instType = 'UTA';
1577
+ channel = 'order';
1578
+ }
1466
1579
  subscriptionHash = subscriptionHash + ':' + instType;
1467
1580
  const args = {
1468
1581
  'instType': instType,
1469
- 'channel': channel,
1470
- 'instId': instId,
1471
1582
  };
1583
+ const topicOrChannel = uta ? 'topic' : 'channel';
1584
+ args[topicOrChannel] = channel;
1585
+ if (!uta) {
1586
+ args['instId'] = instId;
1587
+ }
1588
+ else {
1589
+ params = this.extend(params, { 'uta': true });
1590
+ }
1472
1591
  const orders = await this.watchPrivate(messageHash, subscriptionHash, args, params);
1473
1592
  if (this.newUpdates) {
1474
1593
  limit = orders.getLimit(symbol, limit);
@@ -1510,24 +1629,73 @@ export default class bitget extends bitgetRest {
1510
1629
  // "ts": 1701923982497
1511
1630
  // }
1512
1631
  //
1632
+ // uta
1633
+ //
1634
+ // {
1635
+ // "action": "snapshot",
1636
+ // "arg": {
1637
+ // "instType": "UTA",
1638
+ // "topic": "order"
1639
+ // },
1640
+ // "data": [
1641
+ // {
1642
+ // "category": "usdt-futures",
1643
+ // "symbol": "BTCUSDT",
1644
+ // "orderId": "xxx",
1645
+ // "clientOid": "xxx",
1646
+ // "price": "",
1647
+ // "qty": "0.001",
1648
+ // "amount": "1000",
1649
+ // "holdMode": "hedge_mode",
1650
+ // "holdSide": "long",
1651
+ // "tradeSide": "open",
1652
+ // "orderType": "market",
1653
+ // "timeInForce": "gtc",
1654
+ // "side": "buy",
1655
+ // "marginMode": "crossed",
1656
+ // "marginCoin": "USDT",
1657
+ // "reduceOnly": "no",
1658
+ // "cumExecQty": "0.001",
1659
+ // "cumExecValue": "83.1315",
1660
+ // "avgPrice": "83131.5",
1661
+ // "totalProfit": "0",
1662
+ // "orderStatus": "filled",
1663
+ // "cancelReason": "",
1664
+ // "leverage": "20",
1665
+ // "feeDetail": [
1666
+ // {
1667
+ // "feeCoin": "USDT",
1668
+ // "fee": "0.0332526"
1669
+ // }
1670
+ // ],
1671
+ // "createdTime": "1742367838101",
1672
+ // "updatedTime": "1742367838115",
1673
+ // "stpMode": "none"
1674
+ // }
1675
+ // ],
1676
+ // "ts": 1742367838124
1677
+ // }
1678
+ //
1513
1679
  const arg = this.safeDict(message, 'arg', {});
1514
- const channel = this.safeString(arg, 'channel');
1515
- const instType = this.safeString(arg, 'instType');
1680
+ const channel = this.safeString2(arg, 'channel', 'topic');
1681
+ const instType = this.safeStringLower(arg, 'instType');
1516
1682
  const argInstId = this.safeString(arg, 'instId');
1517
1683
  let marketType = undefined;
1518
- if (instType === 'SPOT') {
1684
+ if (instType === 'spot') {
1519
1685
  marketType = 'spot';
1520
1686
  }
1521
- else if (instType === 'MARGIN') {
1687
+ else if (instType === 'margin') {
1522
1688
  marketType = 'spot';
1523
1689
  }
1524
1690
  else {
1525
1691
  marketType = 'contract';
1526
1692
  }
1527
- const isLinearSwap = (instType === 'USDT-FUTURES');
1528
- const isInverseSwap = (instType === 'COIN-FUTURES');
1529
- const isUSDCFutures = (instType === 'USDC-FUTURES');
1530
- const data = this.safeValue(message, 'data', []);
1693
+ const data = this.safeList(message, 'data', []);
1694
+ const first = this.safeDict(data, 0, {});
1695
+ const category = this.safeStringLower(first, 'category', instType);
1696
+ const isLinearSwap = (category === 'usdt-futures');
1697
+ const isInverseSwap = (category === 'coin-futures');
1698
+ const isUSDCFutures = (category === 'usdc-futures');
1531
1699
  if (this.orders === undefined) {
1532
1700
  const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
1533
1701
  this.orders = new ArrayCacheBySymbolById(limit);
@@ -1539,7 +1707,7 @@ export default class bitget extends bitgetRest {
1539
1707
  const marketSymbols = {};
1540
1708
  for (let i = 0; i < data.length; i++) {
1541
1709
  const order = data[i];
1542
- const marketId = this.safeString(order, 'instId', argInstId);
1710
+ const marketId = this.safeString2(order, 'instId', 'symbol', argInstId);
1543
1711
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
1544
1712
  const parsed = this.parseWsOrder(order, market);
1545
1713
  stored.append(parsed);
@@ -1687,13 +1855,57 @@ export default class bitget extends bitgetRest {
1687
1855
  // orderId: "1183419084588060673",
1688
1856
  // }
1689
1857
  //
1690
- const isSpot = !('posMode' in order);
1691
- const isMargin = ('loanType' in order);
1692
- const marketId = this.safeString(order, 'instId');
1858
+ // uta
1859
+ //
1860
+ // {
1861
+ // "category": "usdt-futures",
1862
+ // "symbol": "BTCUSDT",
1863
+ // "orderId": "xxx",
1864
+ // "clientOid": "xxx",
1865
+ // "price": "",
1866
+ // "qty": "0.001",
1867
+ // "amount": "1000",
1868
+ // "holdMode": "hedge_mode",
1869
+ // "holdSide": "long",
1870
+ // "tradeSide": "open",
1871
+ // "orderType": "market",
1872
+ // "timeInForce": "gtc",
1873
+ // "side": "buy",
1874
+ // "marginMode": "crossed",
1875
+ // "marginCoin": "USDT",
1876
+ // "reduceOnly": "no",
1877
+ // "cumExecQty": "0.001",
1878
+ // "cumExecValue": "83.1315",
1879
+ // "avgPrice": "83131.5",
1880
+ // "totalProfit": "0",
1881
+ // "orderStatus": "filled",
1882
+ // "cancelReason": "",
1883
+ // "leverage": "20",
1884
+ // "feeDetail": [
1885
+ // {
1886
+ // "feeCoin": "USDT",
1887
+ // "fee": "0.0332526"
1888
+ // }
1889
+ // ],
1890
+ // "createdTime": "1742367838101",
1891
+ // "updatedTime": "1742367838115",
1892
+ // "stpMode": "none"
1893
+ // }
1894
+ //
1895
+ let isSpot = !('posMode' in order);
1896
+ let isMargin = ('loanType' in order);
1897
+ const category = this.safeStringLower(order, 'category');
1898
+ if (category === 'spot') {
1899
+ isSpot = true;
1900
+ }
1901
+ if (category === 'margin') {
1902
+ isMargin = true;
1903
+ }
1904
+ const marketId = this.safeString2(order, 'instId', 'symbol');
1693
1905
  market = this.safeMarket(marketId, market);
1694
- const timestamp = this.safeInteger(order, 'cTime');
1906
+ const timestamp = this.safeInteger2(order, 'cTime', 'createdTime');
1695
1907
  const symbol = market['symbol'];
1696
- const rawStatus = this.safeString(order, 'status');
1908
+ const rawStatus = this.safeString2(order, 'status', 'orderStatus');
1697
1909
  const orderFee = this.safeValue(order, 'feeDetail', []);
1698
1910
  const fee = this.safeValue(orderFee, 0);
1699
1911
  const feeAmount = this.safeString(fee, 'fee');
@@ -1715,23 +1927,23 @@ export default class bitget extends bitgetRest {
1715
1927
  // for spot trigger order, limit price is this
1716
1928
  price = this.safeNumber(order, 'executePrice');
1717
1929
  }
1718
- const avgPrice = this.omitZero(this.safeString2(order, 'priceAvg', 'fillPrice'));
1930
+ const avgPrice = this.omitZero(this.safeStringLowerN(order, ['priceAvg', 'fillPrice', 'avgPrice']));
1719
1931
  const side = this.safeString(order, 'side');
1720
1932
  const type = this.safeString(order, 'orderType');
1721
- const accBaseVolume = this.omitZero(this.safeString(order, 'accBaseVolume'));
1722
- const newSizeValue = this.omitZero(this.safeString(order, 'newSize'));
1933
+ const accBaseVolume = this.omitZero(this.safeString2(order, 'accBaseVolume', 'cumExecQty'));
1934
+ const newSizeValue = this.omitZero(this.safeString2(order, 'newSize', 'cumExecValue'));
1723
1935
  const isMarketOrder = (type === 'market');
1724
1936
  const isBuy = (side === 'buy');
1725
1937
  let totalAmount = undefined;
1726
1938
  let filledAmount = undefined;
1727
1939
  let cost = undefined;
1728
1940
  let remaining = undefined;
1729
- let totalFilled = this.safeString(order, 'accBaseVolume');
1941
+ let totalFilled = this.safeString2(order, 'accBaseVolume', 'cumExecQty');
1730
1942
  if (isSpot) {
1731
1943
  if (isMargin) {
1732
- totalAmount = this.safeString(order, 'baseSize');
1733
- totalFilled = this.safeString(order, 'baseVolume');
1734
- cost = this.safeString(order, 'fillTotalAmount');
1944
+ totalAmount = this.safeString2(order, 'baseSize', 'qty');
1945
+ totalFilled = this.safeString2(order, 'baseVolume', 'cumExecQty');
1946
+ cost = this.safeString2(order, 'fillTotalAmount', 'cumExecValue');
1735
1947
  }
1736
1948
  else {
1737
1949
  const partialFillAmount = this.safeString(order, 'baseVolume');
@@ -1752,16 +1964,16 @@ export default class bitget extends bitgetRest {
1752
1964
  }
1753
1965
  }
1754
1966
  else {
1755
- totalAmount = this.safeString(order, 'newSize');
1967
+ totalAmount = this.safeString2(order, 'newSize', 'qty');
1756
1968
  // we don't have cost for limit order
1757
1969
  }
1758
1970
  }
1759
1971
  }
1760
1972
  else {
1761
1973
  // baseVolume should not be used for "amount" for contracts !
1762
- filledAmount = this.safeString(order, 'baseVolume');
1763
- totalAmount = this.safeString(order, 'size');
1764
- cost = this.safeString(order, 'fillNotionalUsd');
1974
+ filledAmount = this.safeString2(order, 'baseVolume', 'cumExecQty');
1975
+ totalAmount = this.safeString2(order, 'size', 'qty');
1976
+ cost = this.safeString2(order, 'fillNotionalUsd', 'cumExecValue');
1765
1977
  }
1766
1978
  remaining = Precise.stringSub(totalAmount, totalFilled);
1767
1979
  return this.safeOrder({
@@ -1771,9 +1983,9 @@ export default class bitget extends bitgetRest {
1771
1983
  'clientOrderId': this.safeString(order, 'clientOid'),
1772
1984
  'timestamp': timestamp,
1773
1985
  'datetime': this.iso8601(timestamp),
1774
- 'lastTradeTimestamp': this.safeInteger(order, 'uTime'),
1986
+ 'lastTradeTimestamp': this.safeInteger2(order, 'uTime', 'updatedTime'),
1775
1987
  'type': type,
1776
- 'timeInForce': this.safeStringUpper(order, 'force'),
1988
+ 'timeInForce': this.safeStringUpper2(order, 'force', 'timeInForce'),
1777
1989
  'postOnly': undefined,
1778
1990
  'side': side,
1779
1991
  'price': price,
@@ -1844,7 +2056,7 @@ export default class bitget extends bitgetRest {
1844
2056
  args['instId'] = 'default';
1845
2057
  }
1846
2058
  else {
1847
- params['uta'] = true;
2059
+ params = this.extend(params, { 'uta': true });
1848
2060
  }
1849
2061
  const trades = await this.watchPrivate(messageHash, subscriptionHash, args, params);
1850
2062
  if (this.newUpdates) {
@@ -1988,13 +2200,17 @@ export default class bitget extends bitgetRest {
1988
2200
  * @see https://www.bitget.com/api-doc/contract/websocket/private/Account-Channel
1989
2201
  * @see https://www.bitget.com/api-doc/margin/cross/websocket/private/Margin-Cross-Account-Assets
1990
2202
  * @see https://www.bitget.com/api-doc/margin/isolated/websocket/private/Margin-isolated-account-assets
2203
+ * @see https://www.bitget.com/api-doc/uta/websocket/private/Account-Channel
1991
2204
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1992
2205
  * @param {str} [params.type] spot or contract if not provided this.options['defaultType'] is used
1993
2206
  * @param {string} [params.instType] one of 'SPOT', 'MARGIN', 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES'
1994
2207
  * @param {string} [params.marginMode] 'isolated' or 'cross' for watching spot margin balances
2208
+ * @param {boolean} [params.uta] set to true for the unified trading account (uta), defaults to false
1995
2209
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1996
2210
  */
1997
2211
  async watchBalance(params = {}) {
2212
+ let uta = undefined;
2213
+ [uta, params] = this.handleOptionAndParams(params, 'watchBalance', 'uta', false);
1998
2214
  let type = undefined;
1999
2215
  [type, params] = this.handleMarketTypeAndParams('watchBalance', undefined, params);
2000
2216
  let marginMode = undefined;
@@ -2006,22 +2222,33 @@ export default class bitget extends bitgetRest {
2006
2222
  }
2007
2223
  else if (marginMode !== undefined) {
2008
2224
  instType = 'MARGIN';
2009
- if (marginMode === 'isolated') {
2010
- channel = 'account-isolated';
2011
- }
2012
- else {
2013
- channel = 'account-crossed';
2225
+ if (!uta) {
2226
+ if (marginMode === 'isolated') {
2227
+ channel = 'account-isolated';
2228
+ }
2229
+ else {
2230
+ channel = 'account-crossed';
2231
+ }
2014
2232
  }
2015
2233
  }
2016
- else {
2234
+ else if (!uta) {
2017
2235
  instType = 'SPOT';
2018
2236
  }
2019
2237
  [instType, params] = this.handleOptionAndParams(params, 'watchBalance', 'instType', instType);
2238
+ if (uta) {
2239
+ instType = 'UTA';
2240
+ }
2020
2241
  const args = {
2021
2242
  'instType': instType,
2022
- 'channel': channel,
2023
- 'coin': 'default',
2024
2243
  };
2244
+ const topicOrChannel = uta ? 'topic' : 'channel';
2245
+ args[topicOrChannel] = channel;
2246
+ if (!uta) {
2247
+ args['coin'] = 'default';
2248
+ }
2249
+ else {
2250
+ params = this.extend(params, { 'uta': true });
2251
+ }
2025
2252
  const messageHash = 'balance:' + instType.toLowerCase();
2026
2253
  return await this.watchPrivate(messageHash, messageHash, args, params);
2027
2254
  }
@@ -2084,26 +2311,76 @@ export default class bitget extends bitgetRest {
2084
2311
  // "ts": 1701933110544
2085
2312
  // }
2086
2313
  //
2314
+ // uta
2315
+ //
2316
+ // {
2317
+ // "data": [{
2318
+ // "unrealisedPnL": "-10116.55",
2319
+ // "totalEquity": "4976919.05",
2320
+ // "positionMgnRatio": "0",
2321
+ // "mmr": "408.08",
2322
+ // "effEquity": "4847952.35",
2323
+ // "imr": "17795.97",
2324
+ // "mgnRatio": "0",
2325
+ // "coin": [{
2326
+ // "debts": "0",
2327
+ // "balance": "0.9992",
2328
+ // "available": "0.9992",
2329
+ // "borrow": "0",
2330
+ // "locked": "0",
2331
+ // "equity": "0.9992",
2332
+ // "coin": "ETH",
2333
+ // "usdValue": "2488.667472"
2334
+ // }]
2335
+ // }],
2336
+ // "arg": {
2337
+ // "instType": "UTA",
2338
+ // "topic": "account"
2339
+ // },
2340
+ // "action": "snapshot",
2341
+ // "ts": 1740546523244
2342
+ // }
2343
+ //
2344
+ const arg = this.safeDict(message, 'arg', {});
2345
+ const instType = this.safeStringLower(arg, 'instType');
2087
2346
  const data = this.safeValue(message, 'data', []);
2088
2347
  for (let i = 0; i < data.length; i++) {
2089
2348
  const rawBalance = data[i];
2090
- const currencyId = this.safeString2(rawBalance, 'coin', 'marginCoin');
2091
- const code = this.safeCurrencyCode(currencyId);
2092
- const account = (code in this.balance) ? this.balance[code] : this.account();
2093
- const borrow = this.safeString(rawBalance, 'borrow');
2094
- if (borrow !== undefined) {
2095
- const interest = this.safeString(rawBalance, 'interest');
2096
- account['debt'] = Precise.stringAdd(borrow, interest);
2349
+ if (instType === 'uta') {
2350
+ const coins = this.safeList(rawBalance, 'coin', []);
2351
+ for (let j = 0; j < coins.length; j++) {
2352
+ const entry = coins[j];
2353
+ const currencyId = this.safeString(entry, 'coin');
2354
+ const code = this.safeCurrencyCode(currencyId);
2355
+ const account = (code in this.balance) ? this.balance[code] : this.account();
2356
+ const borrow = this.safeString(entry, 'borrow');
2357
+ const debts = this.safeString(entry, 'debts');
2358
+ if ((borrow !== undefined) || (debts !== undefined)) {
2359
+ account['debt'] = Precise.stringAdd(borrow, debts);
2360
+ }
2361
+ account['free'] = this.safeString(entry, 'available');
2362
+ account['used'] = this.safeString(entry, 'locked');
2363
+ account['total'] = this.safeString(entry, 'balance');
2364
+ this.balance[code] = account;
2365
+ }
2366
+ }
2367
+ else {
2368
+ const currencyId = this.safeString2(rawBalance, 'coin', 'marginCoin');
2369
+ const code = this.safeCurrencyCode(currencyId);
2370
+ const account = (code in this.balance) ? this.balance[code] : this.account();
2371
+ const borrow = this.safeString(rawBalance, 'borrow');
2372
+ if (borrow !== undefined) {
2373
+ const interest = this.safeString(rawBalance, 'interest');
2374
+ account['debt'] = Precise.stringAdd(borrow, interest);
2375
+ }
2376
+ const freeQuery = ('maxTransferOut' in rawBalance) ? 'maxTransferOut' : 'available';
2377
+ account['free'] = this.safeString(rawBalance, freeQuery);
2378
+ account['total'] = this.safeString(rawBalance, 'equity');
2379
+ account['used'] = this.safeString(rawBalance, 'frozen');
2380
+ this.balance[code] = account;
2097
2381
  }
2098
- const freeQuery = ('maxTransferOut' in rawBalance) ? 'maxTransferOut' : 'available';
2099
- account['free'] = this.safeString(rawBalance, freeQuery);
2100
- account['total'] = this.safeString(rawBalance, 'equity');
2101
- account['used'] = this.safeString(rawBalance, 'frozen');
2102
- this.balance[code] = account;
2103
2382
  }
2104
2383
  this.balance = this.safeBalance(this.balance);
2105
- const arg = this.safeValue(message, 'arg');
2106
- const instType = this.safeStringLower(arg, 'instType');
2107
2384
  const messageHash = 'balance:' + instType;
2108
2385
  client.resolve(this.balance, messageHash);
2109
2386
  }
@@ -2403,12 +2680,14 @@ export default class bitget extends bitgetRest {
2403
2680
  'trade': this.handleTrades,
2404
2681
  'publicTrade': this.handleTrades,
2405
2682
  'fill': this.handleMyTrades,
2683
+ 'order': this.handleOrder,
2406
2684
  'orders': this.handleOrder,
2407
2685
  'ordersAlgo': this.handleOrder,
2408
2686
  'orders-algo': this.handleOrder,
2409
2687
  'orders-crossed': this.handleOrder,
2410
2688
  'orders-isolated': this.handleOrder,
2411
2689
  'account': this.handleBalance,
2690
+ 'position': this.handlePositions,
2412
2691
  'positions': this.handlePositions,
2413
2692
  'account-isolated': this.handleBalance,
2414
2693
  'account-crossed': this.handleBalance,