ccxt 4.5.82 → 4.5.83

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 (446) hide show
  1. package/README.md +5 -4
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +3 -1
  4. package/dist/cjs/src/abstract/prediction/sxbet.js +11 -0
  5. package/dist/cjs/src/apex.js +1 -0
  6. package/dist/cjs/src/aster.js +2 -2
  7. package/dist/cjs/src/base/Exchange.js +1 -1
  8. package/dist/cjs/src/bigone.js +2 -2
  9. package/dist/cjs/src/binance.js +10 -10
  10. package/dist/cjs/src/bingx.js +3 -3
  11. package/dist/cjs/src/bit2c.js +4 -4
  12. package/dist/cjs/src/bitbank.js +15 -15
  13. package/dist/cjs/src/bitfinex.js +15 -15
  14. package/dist/cjs/src/bitget.js +109 -73
  15. package/dist/cjs/src/bitmex.js +7 -7
  16. package/dist/cjs/src/bitopro.js +2 -2
  17. package/dist/cjs/src/bitrue.js +6 -6
  18. package/dist/cjs/src/bitso.js +18 -18
  19. package/dist/cjs/src/bitstamp.js +5 -5
  20. package/dist/cjs/src/bitteam.js +32 -32
  21. package/dist/cjs/src/bittrade.js +10 -10
  22. package/dist/cjs/src/bitvavo.js +9 -9
  23. package/dist/cjs/src/blockchaincom.js +2 -2
  24. package/dist/cjs/src/btcbox.js +2 -2
  25. package/dist/cjs/src/btcmarkets.js +2 -2
  26. package/dist/cjs/src/btcturk.js +2 -2
  27. package/dist/cjs/src/btse.js +2 -2
  28. package/dist/cjs/src/bybitid.js +4 -0
  29. package/dist/cjs/src/coinbase.js +1 -1
  30. package/dist/cjs/src/coinbaseexchange.js +13 -13
  31. package/dist/cjs/src/coincheck.js +4 -4
  32. package/dist/cjs/src/coinex.js +10 -10
  33. package/dist/cjs/src/coinmate.js +4 -4
  34. package/dist/cjs/src/coinone.js +4 -4
  35. package/dist/cjs/src/coinsph.js +5 -5
  36. package/dist/cjs/src/cryptocom.js +5 -5
  37. package/dist/cjs/src/deribit.js +31 -31
  38. package/dist/cjs/src/derive.js +1 -1
  39. package/dist/cjs/src/digifinex.js +31 -31
  40. package/dist/cjs/src/gate.js +25 -25
  41. package/dist/cjs/src/gemini.js +5 -5
  42. package/dist/cjs/src/grvt.js +1 -1
  43. package/dist/cjs/src/hibachi.js +5 -5
  44. package/dist/cjs/src/hitbtc.js +15 -15
  45. package/dist/cjs/src/hollaex.js +15 -15
  46. package/dist/cjs/src/htx.js +52 -52
  47. package/dist/cjs/src/hyperliquid.js +2 -2
  48. package/dist/cjs/src/independentreserve.js +2 -2
  49. package/dist/cjs/src/indodax.js +8 -8
  50. package/dist/cjs/src/kraken.js +29 -29
  51. package/dist/cjs/src/krakenfutures.js +16 -16
  52. package/dist/cjs/src/kucoin.js +15 -15
  53. package/dist/cjs/src/latoken.js +8 -8
  54. package/dist/cjs/src/lbank.js +31 -31
  55. package/dist/cjs/src/lighter.js +2 -2
  56. package/dist/cjs/src/luno.js +2 -2
  57. package/dist/cjs/src/mercado.js +12 -12
  58. package/dist/cjs/src/mexc.js +27 -27
  59. package/dist/cjs/src/modetrade.js +10 -10
  60. package/dist/cjs/src/ndax.js +4 -4
  61. package/dist/cjs/src/okx.js +19 -20
  62. package/dist/cjs/src/onetrading.js +7 -7
  63. package/dist/cjs/src/p2b.js +8 -8
  64. package/dist/cjs/src/pacifica.js +9 -3
  65. package/dist/cjs/src/paymium.js +2 -2
  66. package/dist/cjs/src/phemex.js +37 -37
  67. package/dist/cjs/src/poloniex.js +14 -14
  68. package/dist/cjs/src/prediction/sxbet.js +2710 -0
  69. package/dist/cjs/src/pro/alpaca.js +5 -5
  70. package/dist/cjs/src/pro/apex.js +6 -6
  71. package/dist/cjs/src/pro/aster.js +8 -8
  72. package/dist/cjs/src/pro/backpack.js +1 -1
  73. package/dist/cjs/src/pro/binance.js +26 -26
  74. package/dist/cjs/src/pro/bingx.js +11 -11
  75. package/dist/cjs/src/pro/bitfinex.js +11 -11
  76. package/dist/cjs/src/pro/bitget.js +20 -20
  77. package/dist/cjs/src/pro/bithumb.js +1 -1
  78. package/dist/cjs/src/pro/bitmex.js +12 -12
  79. package/dist/cjs/src/pro/bitopro.js +5 -5
  80. package/dist/cjs/src/pro/bitrue.js +7 -7
  81. package/dist/cjs/src/pro/bitstamp.js +5 -5
  82. package/dist/cjs/src/pro/bittrade.js +11 -11
  83. package/dist/cjs/src/pro/bitvavo.js +16 -16
  84. package/dist/cjs/src/pro/blockchaincom.js +5 -5
  85. package/dist/cjs/src/pro/blofin.js +2 -2
  86. package/dist/cjs/src/pro/bybit.js +21 -21
  87. package/dist/cjs/src/pro/bydfi.js +2 -2
  88. package/dist/cjs/src/pro/cex.js +19 -19
  89. package/dist/cjs/src/pro/coinbase.js +2 -2
  90. package/dist/cjs/src/pro/coinbaseexchange.js +9 -9
  91. package/dist/cjs/src/pro/coinbaseinternational.js +2 -2
  92. package/dist/cjs/src/pro/coincheck.js +2 -2
  93. package/dist/cjs/src/pro/coinex.js +3 -3
  94. package/dist/cjs/src/pro/coinone.js +6 -6
  95. package/dist/cjs/src/pro/cryptocom.js +10 -10
  96. package/dist/cjs/src/pro/deribit.js +13 -13
  97. package/dist/cjs/src/pro/derive.js +4 -4
  98. package/dist/cjs/src/pro/dydx.js +1 -1
  99. package/dist/cjs/src/pro/extended.js +16 -10
  100. package/dist/cjs/src/pro/gate.js +10 -10
  101. package/dist/cjs/src/pro/gemini.js +3 -3
  102. package/dist/cjs/src/pro/grvt.js +2 -2
  103. package/dist/cjs/src/pro/hashkey.js +2 -2
  104. package/dist/cjs/src/pro/hitbtc.js +6 -6
  105. package/dist/cjs/src/pro/hollaex.js +3 -3
  106. package/dist/cjs/src/pro/htx.js +28 -28
  107. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  108. package/dist/cjs/src/pro/independentreserve.js +2 -2
  109. package/dist/cjs/src/pro/kraken.js +7 -7
  110. package/dist/cjs/src/pro/krakenfutures.js +12 -12
  111. package/dist/cjs/src/pro/kucoin.js +12 -12
  112. package/dist/cjs/src/pro/lbank.js +16 -16
  113. package/dist/cjs/src/pro/luno.js +2 -2
  114. package/dist/cjs/src/pro/mexc.js +8 -8
  115. package/dist/cjs/src/pro/modetrade.js +3 -3
  116. package/dist/cjs/src/pro/mudrex.js +2 -2
  117. package/dist/cjs/src/pro/nado.js +3 -3
  118. package/dist/cjs/src/pro/ndax.js +6 -6
  119. package/dist/cjs/src/pro/okx.js +20 -20
  120. package/dist/cjs/src/pro/onetrading.js +14 -14
  121. package/dist/cjs/src/pro/p2b.js +5 -5
  122. package/dist/cjs/src/pro/pacifica.js +1 -1
  123. package/dist/cjs/src/pro/paradex.js +1 -1
  124. package/dist/cjs/src/pro/phemex.js +13 -13
  125. package/dist/cjs/src/pro/poloniex.js +17 -17
  126. package/dist/cjs/src/pro/toobit.js +2 -2
  127. package/dist/cjs/src/pro/upbit.js +4 -4
  128. package/dist/cjs/src/pro/weex.js +2 -2
  129. package/dist/cjs/src/pro/whitebit.js +12 -12
  130. package/dist/cjs/src/pro/woo.js +13 -13
  131. package/dist/cjs/src/pro/woofipro.js +3 -3
  132. package/dist/cjs/src/pro/xt.js +3 -3
  133. package/dist/cjs/src/tokocrypto.js +20 -20
  134. package/dist/cjs/src/upbit.js +12 -12
  135. package/dist/cjs/src/whitebit.js +15 -15
  136. package/dist/cjs/src/woo.js +3 -3
  137. package/dist/cjs/src/woofipro.js +14 -14
  138. package/dist/cjs/src/zaif.js +9 -3
  139. package/dist/cjs/src/zebpay.js +1 -1
  140. package/js/ccxt.d.ts +4 -1
  141. package/js/ccxt.js +3 -1
  142. package/js/src/abstract/prediction/sxbet.d.ts +41 -0
  143. package/js/src/abstract/prediction/sxbet.js +11 -0
  144. package/js/src/alpaca.d.ts +28 -33
  145. package/js/src/apex.d.ts +28 -42
  146. package/js/src/apex.js +1 -0
  147. package/js/src/aster.d.ts +58 -108
  148. package/js/src/aster.js +2 -2
  149. package/js/src/backpack.d.ts +34 -48
  150. package/js/src/base/Exchange.d.ts +304 -320
  151. package/js/src/base/Exchange.js +1 -1
  152. package/js/src/bigone.d.ts +24 -29
  153. package/js/src/bigone.js +2 -2
  154. package/js/src/binance.d.ts +112 -138
  155. package/js/src/binance.js +10 -10
  156. package/js/src/binancecoinm.d.ts +3 -2
  157. package/js/src/binanceusdm.d.ts +3 -2
  158. package/js/src/bingx.d.ts +65 -84
  159. package/js/src/bingx.js +3 -3
  160. package/js/src/bit2c.d.ts +13 -18
  161. package/js/src/bit2c.js +4 -4
  162. package/js/src/bitbank.d.ts +16 -21
  163. package/js/src/bitbank.js +15 -15
  164. package/js/src/bitbns.d.ts +15 -20
  165. package/js/src/bitfinex.d.ts +46 -51
  166. package/js/src/bitfinex.js +15 -15
  167. package/js/src/bitflyer.d.ts +20 -25
  168. package/js/src/bitget.d.ts +105 -93
  169. package/js/src/bitget.js +109 -73
  170. package/js/src/bithumb.d.ts +26 -31
  171. package/js/src/bitmex.d.ts +48 -65
  172. package/js/src/bitmex.js +7 -7
  173. package/js/src/bitopro.d.ts +25 -41
  174. package/js/src/bitopro.js +2 -2
  175. package/js/src/bitrue.d.ts +30 -45
  176. package/js/src/bitrue.js +6 -6
  177. package/js/src/bitso.d.ts +24 -29
  178. package/js/src/bitso.js +18 -18
  179. package/js/src/bitstamp.d.ts +36 -47
  180. package/js/src/bitstamp.js +5 -5
  181. package/js/src/bitteam.d.ts +22 -27
  182. package/js/src/bitteam.js +32 -32
  183. package/js/src/bittrade.d.ts +35 -46
  184. package/js/src/bittrade.js +10 -10
  185. package/js/src/bitvavo.d.ts +43 -48
  186. package/js/src/bitvavo.js +9 -9
  187. package/js/src/blockchaincom.d.ts +26 -31
  188. package/js/src/blockchaincom.js +2 -2
  189. package/js/src/blofin.d.ts +38 -43
  190. package/js/src/btcbox.d.ts +14 -19
  191. package/js/src/btcbox.js +2 -2
  192. package/js/src/btcmarkets.d.ts +25 -30
  193. package/js/src/btcmarkets.js +2 -2
  194. package/js/src/btcturk.d.ts +13 -18
  195. package/js/src/btcturk.js +2 -2
  196. package/js/src/btse.d.ts +44 -50
  197. package/js/src/btse.js +2 -2
  198. package/js/src/bullish.d.ts +35 -57
  199. package/js/src/bybit.d.ts +95 -106
  200. package/js/src/bybitid.js +4 -0
  201. package/js/src/bydfi.d.ts +37 -48
  202. package/js/src/cex.d.ts +29 -34
  203. package/js/src/coinbase.d.ts +66 -82
  204. package/js/src/coinbase.js +1 -1
  205. package/js/src/coinbaseexchange.d.ts +33 -43
  206. package/js/src/coinbaseexchange.js +13 -13
  207. package/js/src/coinbaseinternational.d.ts +34 -73
  208. package/js/src/coincheck.d.ts +13 -18
  209. package/js/src/coincheck.js +4 -4
  210. package/js/src/coinex.d.ts +63 -68
  211. package/js/src/coinex.js +10 -10
  212. package/js/src/coinmate.d.ts +15 -20
  213. package/js/src/coinmate.js +4 -4
  214. package/js/src/coinone.d.ts +14 -19
  215. package/js/src/coinone.js +4 -4
  216. package/js/src/coinsph.d.ts +32 -37
  217. package/js/src/coinsph.js +5 -5
  218. package/js/src/coinspot.d.ts +10 -15
  219. package/js/src/cryptocom.d.ts +48 -64
  220. package/js/src/cryptocom.js +5 -5
  221. package/js/src/cryptomus.d.ts +15 -23
  222. package/js/src/deepcoin.d.ts +43 -48
  223. package/js/src/delta.d.ts +43 -54
  224. package/js/src/deribit.d.ts +48 -69
  225. package/js/src/deribit.js +31 -31
  226. package/js/src/derive.d.ts +28 -42
  227. package/js/src/derive.js +1 -1
  228. package/js/src/digifinex.d.ts +54 -67
  229. package/js/src/digifinex.js +31 -31
  230. package/js/src/dydx.d.ts +26 -31
  231. package/js/src/extended.d.ts +51 -56
  232. package/js/src/foxbit.d.ts +34 -64
  233. package/js/src/gate.d.ts +94 -162
  234. package/js/src/gate.js +25 -25
  235. package/js/src/gemini.d.ts +33 -43
  236. package/js/src/gemini.js +5 -5
  237. package/js/src/grvt.d.ts +36 -47
  238. package/js/src/grvt.js +1 -1
  239. package/js/src/hashkey.d.ts +58 -78
  240. package/js/src/hibachi.d.ts +42 -52
  241. package/js/src/hibachi.js +5 -5
  242. package/js/src/hitbtc.d.ts +49 -56
  243. package/js/src/hitbtc.js +15 -15
  244. package/js/src/hollaex.d.ts +26 -31
  245. package/js/src/hollaex.js +15 -15
  246. package/js/src/htx.d.ts +80 -121
  247. package/js/src/htx.js +52 -52
  248. package/js/src/hyperliquid.d.ts +77 -127
  249. package/js/src/hyperliquid.js +2 -2
  250. package/js/src/independentreserve.d.ts +15 -20
  251. package/js/src/independentreserve.js +2 -2
  252. package/js/src/indodax.d.ts +19 -24
  253. package/js/src/indodax.js +8 -8
  254. package/js/src/kraken.d.ts +43 -55
  255. package/js/src/kraken.js +29 -29
  256. package/js/src/krakenfutures.d.ts +34 -39
  257. package/js/src/krakenfutures.js +16 -16
  258. package/js/src/kucoin.d.ts +121 -132
  259. package/js/src/kucoin.js +15 -15
  260. package/js/src/kucoinfutures.d.ts +4 -4
  261. package/js/src/latoken.d.ts +24 -29
  262. package/js/src/latoken.js +8 -8
  263. package/js/src/lbank.d.ts +40 -53
  264. package/js/src/lbank.js +31 -31
  265. package/js/src/lighter.d.ts +40 -45
  266. package/js/src/lighter.js +2 -2
  267. package/js/src/luno.d.ts +25 -30
  268. package/js/src/luno.js +2 -2
  269. package/js/src/mercado.d.ts +15 -20
  270. package/js/src/mercado.js +12 -12
  271. package/js/src/mexc.d.ts +70 -83
  272. package/js/src/mexc.js +27 -27
  273. package/js/src/modetrade.d.ts +43 -57
  274. package/js/src/modetrade.js +10 -10
  275. package/js/src/mudrex.d.ts +25 -35
  276. package/js/src/nado.d.ts +45 -50
  277. package/js/src/ndax.d.ts +27 -32
  278. package/js/src/ndax.js +4 -4
  279. package/js/src/okx.d.ts +97 -108
  280. package/js/src/okx.js +19 -20
  281. package/js/src/onetrading.d.ts +23 -31
  282. package/js/src/onetrading.js +7 -7
  283. package/js/src/p2b.d.ts +17 -22
  284. package/js/src/p2b.js +8 -8
  285. package/js/src/pacifica.d.ts +55 -73
  286. package/js/src/pacifica.js +9 -3
  287. package/js/src/paradex.d.ts +47 -68
  288. package/js/src/paymium.d.ts +12 -17
  289. package/js/src/paymium.js +2 -2
  290. package/js/src/phemex.d.ts +47 -52
  291. package/js/src/phemex.js +37 -37
  292. package/js/src/poloniex.d.ts +45 -50
  293. package/js/src/poloniex.js +14 -14
  294. package/js/src/prediction/sxbet.d.ts +595 -0
  295. package/js/src/prediction/sxbet.js +2708 -0
  296. package/js/src/pro/alpaca.d.ts +23 -23
  297. package/js/src/pro/alpaca.js +5 -5
  298. package/js/src/pro/apex.d.ts +28 -28
  299. package/js/src/pro/apex.js +6 -6
  300. package/js/src/pro/aster.d.ts +33 -33
  301. package/js/src/pro/aster.js +8 -8
  302. package/js/src/pro/backpack.d.ts +28 -28
  303. package/js/src/pro/backpack.js +1 -1
  304. package/js/src/pro/binance.d.ts +57 -57
  305. package/js/src/pro/binance.js +26 -26
  306. package/js/src/pro/bingx.d.ts +26 -26
  307. package/js/src/pro/bingx.js +11 -11
  308. package/js/src/pro/bitfinex.d.ts +25 -25
  309. package/js/src/pro/bitfinex.js +11 -11
  310. package/js/src/pro/bitget.d.ts +41 -41
  311. package/js/src/pro/bitget.js +20 -20
  312. package/js/src/pro/bithumb.d.ts +15 -15
  313. package/js/src/pro/bithumb.js +1 -1
  314. package/js/src/pro/bitmex.d.ts +29 -29
  315. package/js/src/pro/bitmex.js +12 -12
  316. package/js/src/pro/bitopro.d.ts +13 -13
  317. package/js/src/pro/bitopro.js +5 -5
  318. package/js/src/pro/bitrue.d.ts +25 -25
  319. package/js/src/pro/bitrue.js +7 -7
  320. package/js/src/pro/bitstamp.d.ts +21 -21
  321. package/js/src/pro/bitstamp.js +5 -5
  322. package/js/src/pro/bittrade.d.ts +19 -19
  323. package/js/src/pro/bittrade.js +11 -11
  324. package/js/src/pro/bitvavo.d.ts +62 -62
  325. package/js/src/pro/bitvavo.js +16 -16
  326. package/js/src/pro/blockchaincom.d.ts +19 -19
  327. package/js/src/pro/blockchaincom.js +5 -5
  328. package/js/src/pro/blofin.d.ts +23 -23
  329. package/js/src/pro/blofin.js +2 -2
  330. package/js/src/pro/bullish.d.ts +19 -25
  331. package/js/src/pro/bybit.d.ts +42 -45
  332. package/js/src/pro/bybit.js +21 -21
  333. package/js/src/pro/bydfi.d.ts +24 -24
  334. package/js/src/pro/bydfi.js +2 -2
  335. package/js/src/pro/cex.d.ts +37 -37
  336. package/js/src/pro/cex.js +19 -19
  337. package/js/src/pro/coinbase.d.ts +19 -19
  338. package/js/src/pro/coinbase.js +2 -2
  339. package/js/src/pro/coinbaseexchange.d.ts +25 -25
  340. package/js/src/pro/coinbaseexchange.js +9 -9
  341. package/js/src/pro/coinbaseinternational.d.ts +20 -20
  342. package/js/src/pro/coinbaseinternational.js +2 -2
  343. package/js/src/pro/coincheck.d.ts +5 -5
  344. package/js/src/pro/coincheck.js +2 -2
  345. package/js/src/pro/coinex.d.ts +24 -24
  346. package/js/src/pro/coinex.js +3 -3
  347. package/js/src/pro/coinone.d.ts +9 -11
  348. package/js/src/pro/coinone.js +6 -6
  349. package/js/src/pro/cryptocom.d.ts +40 -40
  350. package/js/src/pro/cryptocom.js +10 -10
  351. package/js/src/pro/deepcoin.d.ts +24 -32
  352. package/js/src/pro/deribit.d.ts +24 -24
  353. package/js/src/pro/deribit.js +13 -13
  354. package/js/src/pro/derive.d.ts +22 -22
  355. package/js/src/pro/derive.js +4 -4
  356. package/js/src/pro/dydx.d.ts +9 -9
  357. package/js/src/pro/dydx.js +1 -1
  358. package/js/src/pro/extended.d.ts +22 -22
  359. package/js/src/pro/extended.js +16 -10
  360. package/js/src/pro/gate.d.ts +50 -50
  361. package/js/src/pro/gate.js +10 -10
  362. package/js/src/pro/gemini.d.ts +26 -26
  363. package/js/src/pro/gemini.js +3 -3
  364. package/js/src/pro/grvt.d.ts +22 -22
  365. package/js/src/pro/grvt.js +2 -2
  366. package/js/src/pro/hashkey.d.ts +19 -19
  367. package/js/src/pro/hashkey.js +2 -2
  368. package/js/src/pro/hitbtc.d.ts +32 -32
  369. package/js/src/pro/hitbtc.js +6 -6
  370. package/js/src/pro/hollaex.d.ts +15 -17
  371. package/js/src/pro/hollaex.js +3 -3
  372. package/js/src/pro/htx.d.ts +36 -36
  373. package/js/src/pro/htx.js +28 -28
  374. package/js/src/pro/hyperliquid.d.ts +29 -31
  375. package/js/src/pro/hyperliquid.js +1 -1
  376. package/js/src/pro/independentreserve.d.ts +10 -10
  377. package/js/src/pro/independentreserve.js +2 -2
  378. package/js/src/pro/kraken.d.ts +41 -55
  379. package/js/src/pro/kraken.js +7 -7
  380. package/js/src/pro/krakenfutures.d.ts +32 -32
  381. package/js/src/pro/krakenfutures.js +12 -12
  382. package/js/src/pro/kucoin.d.ts +69 -72
  383. package/js/src/pro/kucoin.js +12 -12
  384. package/js/src/pro/kucoinfutures.d.ts +4 -4
  385. package/js/src/pro/lbank.d.ts +22 -22
  386. package/js/src/pro/lbank.js +16 -16
  387. package/js/src/pro/lighter.d.ts +27 -27
  388. package/js/src/pro/luno.d.ts +8 -8
  389. package/js/src/pro/luno.js +2 -2
  390. package/js/src/pro/mexc.d.ts +33 -33
  391. package/js/src/pro/mexc.js +8 -8
  392. package/js/src/pro/modetrade.d.ts +37 -39
  393. package/js/src/pro/modetrade.js +3 -3
  394. package/js/src/pro/mudrex.d.ts +8 -8
  395. package/js/src/pro/mudrex.js +2 -2
  396. package/js/src/pro/nado.d.ts +42 -46
  397. package/js/src/pro/nado.js +3 -3
  398. package/js/src/pro/ndax.d.ts +12 -12
  399. package/js/src/pro/ndax.js +6 -6
  400. package/js/src/pro/okx.d.ts +49 -49
  401. package/js/src/pro/okx.js +20 -20
  402. package/js/src/pro/onetrading.d.ts +28 -28
  403. package/js/src/pro/onetrading.js +14 -14
  404. package/js/src/pro/p2b.d.ts +15 -19
  405. package/js/src/pro/p2b.js +5 -5
  406. package/js/src/pro/pacifica.d.ts +22 -22
  407. package/js/src/pro/pacifica.js +1 -1
  408. package/js/src/pro/paradex.d.ts +18 -18
  409. package/js/src/pro/paradex.js +1 -1
  410. package/js/src/pro/phemex.d.ts +25 -25
  411. package/js/src/pro/phemex.js +13 -13
  412. package/js/src/pro/poloniex.d.ts +30 -32
  413. package/js/src/pro/poloniex.js +17 -17
  414. package/js/src/pro/toobit.d.ts +31 -31
  415. package/js/src/pro/toobit.js +2 -2
  416. package/js/src/pro/upbit.d.ts +24 -24
  417. package/js/src/pro/upbit.js +4 -4
  418. package/js/src/pro/weex.d.ts +39 -39
  419. package/js/src/pro/weex.js +2 -2
  420. package/js/src/pro/whitebit.d.ts +26 -30
  421. package/js/src/pro/whitebit.js +12 -12
  422. package/js/src/pro/woo.d.ts +44 -46
  423. package/js/src/pro/woo.js +13 -13
  424. package/js/src/pro/woofipro.d.ts +39 -41
  425. package/js/src/pro/woofipro.js +3 -3
  426. package/js/src/pro/xt.d.ts +20 -20
  427. package/js/src/pro/xt.js +3 -3
  428. package/js/src/revolutx.d.ts +17 -17
  429. package/js/src/tokocrypto.d.ts +25 -30
  430. package/js/src/tokocrypto.js +20 -20
  431. package/js/src/toobit.d.ts +45 -79
  432. package/js/src/upbit.d.ts +28 -61
  433. package/js/src/upbit.js +12 -12
  434. package/js/src/weex.d.ts +57 -68
  435. package/js/src/whitebit.d.ts +53 -64
  436. package/js/src/whitebit.js +15 -15
  437. package/js/src/woo.d.ts +61 -75
  438. package/js/src/woo.js +3 -3
  439. package/js/src/woofipro.d.ts +53 -67
  440. package/js/src/woofipro.js +14 -14
  441. package/js/src/xt.d.ts +57 -67
  442. package/js/src/zaif.d.ts +11 -16
  443. package/js/src/zaif.js +9 -3
  444. package/js/src/zebpay.d.ts +32 -37
  445. package/js/src/zebpay.js +1 -1
  446. package/package.json +2 -2
@@ -457,8 +457,8 @@ class alpaca extends alpaca$1["default"] {
457
457
  // }
458
458
  // }
459
459
  //
460
- const data = this.safeValue(message, 'data', {});
461
- const rawOrder = this.safeValue(data, 'order', {});
460
+ const data = this.safeDict(message, 'data', {});
461
+ const rawOrder = this.safeDict(data, 'order', {});
462
462
  if (this.orders === undefined) {
463
463
  const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
464
464
  this.orders = new Cache.ArrayCacheBySymbolById(limit);
@@ -517,12 +517,12 @@ class alpaca extends alpaca$1["default"] {
517
517
  // }
518
518
  // }
519
519
  //
520
- const data = this.safeValue(message, 'data', {});
520
+ const data = this.safeDict(message, 'data', {});
521
521
  const event = this.safeString(data, 'event');
522
522
  if (event !== 'fill' && event !== 'partial_fill') {
523
523
  return;
524
524
  }
525
- const rawOrder = this.safeValue(data, 'order', {});
525
+ const rawOrder = this.safeDict(data, 'order', {});
526
526
  let myTrades = this.myTrades;
527
527
  if (myTrades === undefined) {
528
528
  const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
@@ -725,7 +725,7 @@ class alpaca extends alpaca$1["default"] {
725
725
  // }
726
726
  //
727
727
  const T = this.safeString(message, 'T');
728
- const data = this.safeValue(message, 'data', {});
728
+ const data = this.safeDict(message, 'data', {});
729
729
  const status = this.safeString(data, 'status');
730
730
  if (T === 'success' || status === 'authorized') {
731
731
  const promise = client.futures['authenticated'];
@@ -100,7 +100,7 @@ class apex extends apex$1["default"] {
100
100
  }
101
101
  const trades = await this.watchTopics(url, messageHashes, topics, params);
102
102
  if (this.newUpdates) {
103
- const first = this.safeValue(trades, 0);
103
+ const first = this.safeDict(trades, 0);
104
104
  const tradeSymbol = this.safeString(first, 'symbol');
105
105
  limit = trades.getLimit(tradeSymbol, limit);
106
106
  }
@@ -127,7 +127,7 @@ class apex extends apex$1["default"] {
127
127
  // ]
128
128
  // }
129
129
  //
130
- const data = this.safeValue(message, 'data', {});
130
+ const data = this.safeList(message, 'data', []);
131
131
  const topic = this.safeString(message, 'topic');
132
132
  const trades = data;
133
133
  const parts = topic.split('.');
@@ -531,7 +531,7 @@ class apex extends apex$1["default"] {
531
531
  // "type": "snapshot"
532
532
  // }
533
533
  //
534
- const data = this.safeValue(message, 'data', {});
534
+ const data = this.safeList(message, 'data', []);
535
535
  const topic = this.safeString(message, 'topic');
536
536
  const topicParts = topic.split('.');
537
537
  const topicLength = topicParts.length;
@@ -946,10 +946,10 @@ class apex extends apex$1["default"] {
946
946
  this.throwBroadlyMatchedException(this.exceptions['broad'], msg, feedback);
947
947
  throw new errors.ExchangeError(feedback);
948
948
  }
949
- const success = this.safeValue(message, 'success');
949
+ const success = this.safeBool(message, 'success');
950
950
  if ((success !== undefined) && (success !== true)) {
951
951
  const ret_msg = this.safeString(message, 'ret_msg');
952
- const request = this.safeValue(message, 'request', {});
952
+ const request = this.safeDict(message, 'request', {});
953
953
  const op = this.safeString(request, 'op');
954
954
  // Benign re-subscribe notice (same shape as bitmart 90008 /
955
955
  // krakenfutures "Already subscribed"): the original subscription
@@ -1092,7 +1092,7 @@ class apex extends apex$1["default"] {
1092
1092
  // "conn_id": "ce3dpomvha7dha97tvp0-2xh"
1093
1093
  // }
1094
1094
  //
1095
- const success = this.safeValue(message, 'success');
1095
+ const success = this.safeBool(message, 'success');
1096
1096
  const code = this.safeInteger(message, 'retCode');
1097
1097
  const messageHash = 'authenticated';
1098
1098
  if ((success === true) || (code === 0)) {
@@ -644,7 +644,7 @@ class aster extends aster$1["default"] {
644
644
  }
645
645
  const trades = await this.watchMultiple(url, messageHashes, this.extend(request, params), messageHashes);
646
646
  if (this.newUpdates) {
647
- const first = this.safeValue(trades, 0);
647
+ const first = this.safeDict(trades, 0);
648
648
  const tradeSymbol = this.safeString(first, 'symbol');
649
649
  limit = trades.getLimit(tradeSymbol, limit);
650
650
  }
@@ -1213,7 +1213,7 @@ class aster extends aster$1["default"] {
1213
1213
  if (timeframe === undefined) {
1214
1214
  return;
1215
1215
  }
1216
- const ohlcvsByTimeframe = this.safeValue(this.ohlcvs, symbol);
1216
+ const ohlcvsByTimeframe = this.safeDict(this.ohlcvs, symbol);
1217
1217
  if (ohlcvsByTimeframe === undefined) {
1218
1218
  this.ohlcvs[symbol] = {};
1219
1219
  }
@@ -1369,7 +1369,7 @@ class aster extends aster$1["default"] {
1369
1369
  if ((type in client.subscriptions) && (type in this.balance)) {
1370
1370
  return;
1371
1371
  }
1372
- const options = this.safeValue(this.options, 'watchBalance');
1372
+ const options = this.safeDict(this.options, 'watchBalance');
1373
1373
  const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
1374
1374
  if (fetchBalanceSnapshot === true) {
1375
1375
  const messageHash = type + ':fetchBalanceSnapshot';
@@ -1387,7 +1387,7 @@ class aster extends aster$1["default"] {
1387
1387
  'type': type,
1388
1388
  };
1389
1389
  const response = await this.fetchBalance(params);
1390
- this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
1390
+ this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
1391
1391
  // don't remove the future from the .futures cache
1392
1392
  if (messageHash in client.futures) {
1393
1393
  const future = client.futures[messageHash];
@@ -1770,12 +1770,12 @@ class aster extends aster$1["default"] {
1770
1770
  if (orderId !== undefined && tradeFee !== undefined && symbol !== undefined) {
1771
1771
  const cachedOrders = this.orders;
1772
1772
  if (cachedOrders !== undefined) {
1773
- const orders = this.safeValue(cachedOrders.hashmap, symbol, {});
1774
- const order = this.safeValue(orders, orderId);
1773
+ const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
1774
+ const order = this.safeDict(orders, orderId);
1775
1775
  if (order !== undefined) {
1776
1776
  // accumulate order fees
1777
- const fees = this.safeValue(order, 'fees');
1778
- const fee = this.safeValue(order, 'fee');
1777
+ const fees = this.safeList(order, 'fees', []);
1778
+ const fee = this.safeDict(order, 'fee');
1779
1779
  if (!this.isEmpty(fees)) {
1780
1780
  let insertNewFeeCurrency = true;
1781
1781
  for (let i = 0; i < fees.length; i++) {
@@ -653,7 +653,7 @@ class backpack extends backpack$1["default"] {
653
653
  }
654
654
  const trades = await this.watchPublic(topics, messageHashes, params);
655
655
  if (this.newUpdates) {
656
- const first = this.safeValue(trades, 0);
656
+ const first = this.safeDict(trades, 0);
657
657
  const tradeSymbol = this.safeString(first, 'symbol');
658
658
  limit = trades.getLimit(tradeSymbol, limit);
659
659
  }
@@ -228,7 +228,7 @@ class binance extends binance$1["default"] {
228
228
  let stream = this.safeString(streamBySubscriptionsHash, subscriptionHash);
229
229
  if (stream === undefined) {
230
230
  let streamIndex = this.safeInteger(this.options, 'streamIndex', -1);
231
- const streamLimits = this.safeValue(this.options, 'streamLimits');
231
+ const streamLimits = this.safeDict(this.options, 'streamLimits');
232
232
  const streamLimit = this.safeInteger(streamLimits, type);
233
233
  streamIndex = streamIndex + 1;
234
234
  const normalizedIndex = streamIndex % streamLimit;
@@ -237,7 +237,7 @@ class binance extends binance$1["default"] {
237
237
  if (subscriptionHash !== undefined) {
238
238
  this.options['streamBySubscriptionsHash'][subscriptionHash] = stream;
239
239
  }
240
- const subscriptionsByStreams = this.safeValue(this.options, 'numSubscriptionsByStream');
240
+ const subscriptionsByStreams = this.safeDict(this.options, 'numSubscriptionsByStream');
241
241
  if (subscriptionsByStreams === undefined) {
242
242
  this.options['numSubscriptionsByStream'] = this.createSafeDictionary();
243
243
  }
@@ -459,7 +459,7 @@ class binance extends binance$1["default"] {
459
459
  // }
460
460
  // }
461
461
  //
462
- const rawLiquidation = this.safeValue(message, 'o', {});
462
+ const rawLiquidation = this.safeDict(message, 'o', {});
463
463
  const marketId = this.safeString(rawLiquidation, 's');
464
464
  const market = this.safeMarket(marketId, undefined, '', 'contract');
465
465
  const symbol = market['symbol'];
@@ -950,9 +950,9 @@ class binance extends binance$1["default"] {
950
950
  const messageHash = 'orderbook::' + symbol;
951
951
  try {
952
952
  const defaultLimit = this.safeInteger(this.options, 'watchOrderBookLimit', 1000);
953
- const type = this.safeValue(subscription, 'type');
953
+ const type = this.safeString(subscription, 'type');
954
954
  const limit = this.safeInteger(subscription, 'limit', defaultLimit);
955
- const params = this.safeValue(subscription, 'params');
955
+ const params = this.safeDict(subscription, 'params');
956
956
  // 3. Get a depth snapshot from https://www.binance.com/api/v1/depth?symbol=BNBBTC&limit=1000 .
957
957
  // todo: this is a synch blocking call - make it async
958
958
  // default 100, max 1000, valid limits 5, 10, 20, 50, 100, 500, 1000
@@ -1017,8 +1017,8 @@ class binance extends binance$1["default"] {
1017
1017
  }
1018
1018
  handleOrderBookMessage(client, message, orderbook) {
1019
1019
  const u = this.safeInteger(message, 'u');
1020
- this.handleDeltas(orderbook['asks'], this.safeValue(message, 'a', []));
1021
- this.handleDeltas(orderbook['bids'], this.safeValue(message, 'b', []));
1020
+ this.handleDeltas(orderbook['asks'], this.safeList(message, 'a', []));
1021
+ this.handleDeltas(orderbook['bids'], this.safeList(message, 'b', []));
1022
1022
  orderbook['nonce'] = u;
1023
1023
  const timestamp = this.safeInteger(message, 'E');
1024
1024
  orderbook['timestamp'] = timestamp;
@@ -1149,7 +1149,7 @@ class binance extends binance$1["default"] {
1149
1149
  const defaultLimit = this.safeInteger(this.options, 'watchOrderBookLimit', 1000);
1150
1150
  // const messageHash = this.safeString (subscription, 'messageHash');
1151
1151
  const symbolOfSubscription = this.safeString(subscription, 'symbol'); // watchOrderBook
1152
- const symbols = this.safeValue(subscription, 'symbols', [symbolOfSubscription]); // watchOrderBookForSymbols
1152
+ const symbols = this.safeList(subscription, 'symbols', [symbolOfSubscription]); // watchOrderBookForSymbols
1153
1153
  const limit = this.safeInteger(subscription, 'limit', defaultLimit);
1154
1154
  // handle list of symbols
1155
1155
  for (let i = 0; i < symbols.length; i++) {
@@ -1172,7 +1172,7 @@ class binance extends binance$1["default"] {
1172
1172
  //
1173
1173
  const id = this.safeString(message, 'id');
1174
1174
  const subscriptionsById = this.indexBy(client.subscriptions, 'id');
1175
- const subscription = this.safeValue(subscriptionsById, id, {});
1175
+ const subscription = this.safeDict(subscriptionsById, id, {});
1176
1176
  const method = this.safeValue(subscription, 'method');
1177
1177
  if (method !== undefined) {
1178
1178
  method.call(this, client, message, subscription);
@@ -1275,7 +1275,7 @@ class binance extends binance$1["default"] {
1275
1275
  };
1276
1276
  const trades = await this.watchMultiple(url, messageHashes, this.extend(request, query), messageHashes, subscribe);
1277
1277
  if (this.newUpdates) {
1278
- const first = this.safeValue(trades, 0);
1278
+ const first = this.safeDict(trades, 0);
1279
1279
  const tradeSymbol = this.safeString(first, 'symbol');
1280
1280
  limit = trades.getLimit(tradeSymbol, limit);
1281
1281
  }
@@ -1863,7 +1863,7 @@ class binance extends binance$1["default"] {
1863
1863
  'markPrice_kline': 'markPriceKline',
1864
1864
  };
1865
1865
  event = this.safeString(eventMap, event, event);
1866
- const kline = this.safeValue(message, 'k');
1866
+ const kline = this.safeDict(message, 'k');
1867
1867
  let marketId = this.safeString2(kline, 's', 'ps');
1868
1868
  if (event === 'indexPriceKline') {
1869
1869
  // indexPriceKline doesn't have the _PERP suffix
@@ -1886,8 +1886,8 @@ class binance extends binance$1["default"] {
1886
1886
  const marketType = isSpot ? 'spot' : 'contract';
1887
1887
  const symbol = this.safeSymbol(marketId, undefined, undefined, marketType);
1888
1888
  const messageHash = 'ohlcv::' + symbol + '::' + unifiedTimeframe;
1889
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
1890
- let stored = this.safeValue(this.safeValue(this.ohlcvs, symbol), unifiedTimeframe);
1889
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
1890
+ let stored = this.safeValue(this.safeDict(this.ohlcvs, symbol), unifiedTimeframe);
1891
1891
  if (stored === undefined) {
1892
1892
  const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
1893
1893
  stored = new Cache.ArrayCacheByTimestamp(limit);
@@ -2622,7 +2622,7 @@ class binance extends binance$1["default"] {
2622
2622
  // }
2623
2623
  //
2624
2624
  const messageHash = this.safeString(message, 'id');
2625
- const result = this.safeValue(message, 'result', {});
2625
+ const result = this.safeDict(message, 'result', {});
2626
2626
  const ticker = this.parseWsTicker(result, 'future');
2627
2627
  client.resolve(ticker, messageHash);
2628
2628
  }
@@ -2710,12 +2710,12 @@ class binance extends binance$1["default"] {
2710
2710
  continue;
2711
2711
  }
2712
2712
  const tickerMarketId = this.safeString(ticker, 's');
2713
- const tickerMarketsByIdList = this.safeValue(this.markets_by_id, tickerMarketId);
2713
+ const tickerMarketsByIdList = this.safeList(this.markets_by_id, tickerMarketId);
2714
2714
  const numTickerMarkets = (tickerMarketsByIdList === undefined) ? 0 : tickerMarketsByIdList.length;
2715
2715
  // an ambiguous id, spot and swap share e.g. BTCUSDC, must not be resolved by
2716
2716
  // blind first pick, the stream url decides; only a unique match, like an
2717
2717
  // option id, may override it, see https://github.com/ccxt/ccxt/issues/29728
2718
- const tickerMarketById = (numTickerMarkets === 1) ? this.safeValue(tickerMarketsByIdList, 0) : undefined;
2718
+ const tickerMarketById = (numTickerMarkets === 1) ? this.safeDict(tickerMarketsByIdList, 0) : undefined;
2719
2719
  const isSpot = this.isSpotUrl(client);
2720
2720
  const tickerFallbackType = isSpot ? 'spot' : 'contract';
2721
2721
  const tickerMarketType = (tickerMarketById !== undefined) ? tickerMarketById['type'] : tickerFallbackType;
@@ -2992,7 +2992,7 @@ class binance extends binance$1["default"] {
2992
2992
  }
2993
2993
  params = this.omit(params, 'symbol');
2994
2994
  const isStock = (type === 'stock');
2995
- const options = this.safeValue(this.options, type, {});
2995
+ const options = this.safeDict(this.options, type, {});
2996
2996
  const lastAuthenticatedTime = this.safeInteger(options, 'lastAuthenticatedTime', 0);
2997
2997
  const refreshRateKey = isStock ? 'stockListenKeyRefreshRate' : 'listenKeyRefreshRate';
2998
2998
  const listenKeyRefreshRate = this.safeInteger(this.options, refreshRateKey, 1200000);
@@ -3101,7 +3101,7 @@ class binance extends binance$1["default"] {
3101
3101
  return;
3102
3102
  }
3103
3103
  const isStock = (type === 'stock');
3104
- const options = this.safeValue(this.options, type, {});
3104
+ const options = this.safeDict(this.options, type, {});
3105
3105
  const listenKey = this.safeString(options, 'listenKey');
3106
3106
  if (listenKey === undefined) {
3107
3107
  // A network error happened: we can't renew a listen key that does not exist.
@@ -3198,7 +3198,7 @@ class binance extends binance$1["default"] {
3198
3198
  if ((type in client.subscriptions) && (type in this.balance)) {
3199
3199
  return;
3200
3200
  }
3201
- const options = this.safeValue(this.options, 'watchBalance');
3201
+ const options = this.safeDict(this.options, 'watchBalance');
3202
3202
  const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
3203
3203
  if (fetchBalanceSnapshot === true) {
3204
3204
  const messageHash = type + ':fetchBalanceSnapshot';
@@ -3219,7 +3219,7 @@ class binance extends binance$1["default"] {
3219
3219
  params['portfolioMargin'] = true;
3220
3220
  }
3221
3221
  const response = await this.fetchBalance(params);
3222
- this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
3222
+ this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
3223
3223
  // don't remove the future from the .futures cache
3224
3224
  if (messageHash in client.futures) {
3225
3225
  const future = client.futures[messageHash];
@@ -5423,12 +5423,12 @@ class binance extends binance$1["default"] {
5423
5423
  if (orderId !== undefined && tradeFee !== undefined && symbol !== undefined) {
5424
5424
  const cachedOrders = this.orders;
5425
5425
  if (cachedOrders !== undefined) {
5426
- const orders = this.safeValue(cachedOrders.hashmap, symbol, {});
5427
- const order = this.safeValue(orders, orderId);
5426
+ const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
5427
+ const order = this.safeDict(orders, orderId);
5428
5428
  if (order !== undefined) {
5429
5429
  // accumulate order fees
5430
5430
  const fees = this.safeValue(order, 'fees');
5431
- const fee = this.safeValue(order, 'fee');
5431
+ const fee = this.safeDict(order, 'fee');
5432
5432
  if (!this.isEmpty(fees)) {
5433
5433
  let insertNewFeeCurrency = true;
5434
5434
  for (let i = 0; i < fees.length; i++) {
@@ -5505,8 +5505,8 @@ class binance extends binance$1["default"] {
5505
5505
  this.orders = new Cache.ArrayCacheBySymbolById(limit);
5506
5506
  }
5507
5507
  const cachedOrders = this.orders;
5508
- const orders = this.safeValue(cachedOrders.hashmap, symbol, {});
5509
- const order = this.safeValue(orders, orderId);
5508
+ const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
5509
+ const order = this.safeDict(orders, orderId);
5510
5510
  if (order !== undefined) {
5511
5511
  const fee = this.safeValue(order, 'fee');
5512
5512
  if (fee !== undefined) {
@@ -5696,7 +5696,7 @@ class binance extends binance$1["default"] {
5696
5696
  }
5697
5697
  // user subscription wraps message in subscriptionId and event
5698
5698
  const id = this.safeString(message, 'id');
5699
- const subscriptions = this.safeValue(client.subscriptions, id);
5699
+ const subscriptions = this.safeDict(client.subscriptions, id);
5700
5700
  let method = this.safeValue(subscriptions, 'method');
5701
5701
  if (method !== undefined) {
5702
5702
  method.call(this, client, message);
@@ -257,7 +257,7 @@ class bingx extends bingx$1["default"] {
257
257
  // }
258
258
  // }
259
259
  //
260
- const data = this.safeValue(message, 'data', {});
260
+ const data = this.safeDict(message, 'data', {});
261
261
  const marketId = this.safeString(data, 's');
262
262
  // const marketId = messageHash.split('@')[0];
263
263
  const isSwap = client.url.indexOf('swap') >= 0;
@@ -859,7 +859,7 @@ class bingx extends bingx$1["default"] {
859
859
  candles = [this.safeDict(data, 'K', {})];
860
860
  }
861
861
  const symbol = market['symbol'];
862
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
862
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
863
863
  const rawTimeframe = dataType.split('_')[1];
864
864
  const marketOptions = this.safeDict(this.options, marketType);
865
865
  const timeframes = this.safeDict(marketOptions, 'timeframes', {});
@@ -921,8 +921,8 @@ class bingx extends bingx$1["default"] {
921
921
  if (url === undefined) {
922
922
  throw new errors.BadRequest(this.id + ' watchOHLCV is not supported for ' + marketType + ' markets.');
923
923
  }
924
- const options = this.safeValue(this.options, marketType, {});
925
- const timeframes = this.safeValue(options, 'timeframes', {});
924
+ const options = this.safeDict(this.options, marketType, {});
925
+ const timeframes = this.safeDict(options, 'timeframes', {});
926
926
  const rawTimeframe = this.safeString(timeframes, timeframe, timeframe);
927
927
  const messageHash = this.getMessageHash('ohlcv', market['symbol'], timeframe);
928
928
  const subscriptionHash = market['id'] + '@kline_' + rawTimeframe;
@@ -964,8 +964,8 @@ class bingx extends bingx$1["default"] {
964
964
  await this.loadMarkets();
965
965
  }
966
966
  const market = this.market(symbol);
967
- const options = this.safeValue(this.options, market['type'], {});
968
- const timeframes = this.safeValue(options, 'timeframes', {});
967
+ const options = this.safeDict(this.options, market['type'], {});
968
+ const timeframes = this.safeDict(options, 'timeframes', {});
969
969
  const rawTimeframe = this.safeString(timeframes, timeframe, timeframe);
970
970
  const subMessageHash = market['id'] + '@kline_' + rawTimeframe;
971
971
  const messageHash = 'unsubscribe::' + subMessageHash;
@@ -1184,7 +1184,7 @@ class bingx extends bingx$1["default"] {
1184
1184
  }
1185
1185
  async loadBalanceSnapshot(client, messageHash, type, subType) {
1186
1186
  const response = await this.fetchBalance({ 'type': type, 'subType': subType });
1187
- this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
1187
+ this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
1188
1188
  // don't remove the future from the .futures cache
1189
1189
  if (messageHash in client.futures) {
1190
1190
  const future = client.futures[messageHash];
@@ -1614,7 +1614,7 @@ class bingx extends bingx$1["default"] {
1614
1614
  // }
1615
1615
  //
1616
1616
  const isSpot = ('dataType' in message);
1617
- const data = this.safeValue2(message, 'data', 'o', {});
1617
+ const data = this.safeDict2(message, 'data', 'o', {});
1618
1618
  if (this.orders === undefined) {
1619
1619
  const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
1620
1620
  this.orders = new Cache.ArrayCacheBySymbolById(limit);
@@ -1819,7 +1819,7 @@ class bingx extends bingx$1["default"] {
1819
1819
  return;
1820
1820
  }
1821
1821
  if (dataType.indexOf('executionReport') >= 0) {
1822
- const data = this.safeValue(message, 'data', {});
1822
+ const data = this.safeDict(message, 'data', {});
1823
1823
  const type = this.safeString(data, 'x');
1824
1824
  if (type === 'TRADE') {
1825
1825
  this.handleMyTrades(client, message);
@@ -1834,14 +1834,14 @@ class bingx extends bingx$1["default"] {
1834
1834
  }
1835
1835
  if (e === 'ORDER_TRADE_UPDATE') {
1836
1836
  this.handleOrder(client, message);
1837
- const data = this.safeValue(message, 'o', {});
1837
+ const data = this.safeDict(message, 'o', {});
1838
1838
  const type = this.safeString(data, 'x');
1839
1839
  const status = this.safeString(data, 'X');
1840
1840
  if ((type === 'TRADE') && (status === 'FILLED')) {
1841
1841
  this.handleMyTrades(client, message);
1842
1842
  }
1843
1843
  }
1844
- const msgData = this.safeValue(message, 'data');
1844
+ const msgData = this.safeDict(message, 'data');
1845
1845
  const msgEvent = this.safeString(msgData, 'e');
1846
1846
  if (msgEvent === '24hTicker') {
1847
1847
  this.handleTicker(client, message);
@@ -228,9 +228,9 @@ class bitfinex extends bitfinex$1["default"] {
228
228
  // ]
229
229
  // ]
230
230
  //
231
- const data = this.safeValue(message, 1, []);
231
+ const data = this.safeList(message, 1, []);
232
232
  let ohlcvs = [];
233
- const first = this.safeValue(data, 0);
233
+ const first = this.safeList(data, 0);
234
234
  if (Array.isArray(first)) {
235
235
  // snapshot
236
236
  ohlcvs = data;
@@ -239,7 +239,7 @@ class bitfinex extends bitfinex$1["default"] {
239
239
  // update
240
240
  ohlcvs = [data];
241
241
  }
242
- const channel = this.safeValue(subscription, 'channel');
242
+ const channel = this.safeString(subscription, 'channel');
243
243
  const key = this.safeString(subscription, 'key', '');
244
244
  const keyParts = key.split(':');
245
245
  const interval = this.safeString(keyParts, 1);
@@ -250,7 +250,7 @@ class bitfinex extends bitfinex$1["default"] {
250
250
  const timeframe = this.findTimeframe(interval);
251
251
  const symbol = market['symbol'];
252
252
  const messageHash = channel + ':' + interval + ':' + marketId;
253
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
253
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
254
254
  let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
255
255
  if (stored === undefined) {
256
256
  const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
@@ -411,7 +411,7 @@ class bitfinex extends bitfinex$1["default"] {
411
411
  // ]
412
412
  //
413
413
  //
414
- const channel = this.safeValue(subscription, 'channel');
414
+ const channel = this.safeString(subscription, 'channel');
415
415
  const marketId = this.safeString(subscription, 'symbol');
416
416
  const market = this.safeMarket(marketId);
417
417
  const messageHash = channel + ':' + marketId;
@@ -442,7 +442,7 @@ class bitfinex extends bitfinex$1["default"] {
442
442
  // since te and tu updates are duplicated on the public stream
443
443
  return;
444
444
  }
445
- const trade = this.safeValue(message, 2, []);
445
+ const trade = this.safeList(message, 2, []);
446
446
  const parsed = this.parseWsTrade(trade, market);
447
447
  stored.append(parsed);
448
448
  }
@@ -635,7 +635,7 @@ class bitfinex extends bitfinex$1["default"] {
635
635
  throw new errors.ExchangeError(this.id + ' watchOrderBook limit argument must be undefined, 25 or 100');
636
636
  }
637
637
  }
638
- const options = this.safeValue(this.options, 'watchOrderBook', {});
638
+ const options = this.safeDict(this.options, 'watchOrderBook', {});
639
639
  const prec = this.safeString(options, 'prec', 'P0');
640
640
  const freq = this.safeString(options, 'freq', 'F0');
641
641
  const request = {
@@ -760,7 +760,7 @@ class bitfinex extends bitfinex$1["default"] {
760
760
  const symbol = this.safeSymbol(marketId);
761
761
  const channel = 'book';
762
762
  const messageHash = channel + ':' + marketId;
763
- const book = this.safeValue(this.orderbooks, symbol);
763
+ const book = this.safeDict(this.orderbooks, symbol);
764
764
  if (book === undefined) {
765
765
  return;
766
766
  }
@@ -773,8 +773,8 @@ class bitfinex extends bitfinex$1["default"] {
773
773
  const idToCheck = isRaw ? 2 : 0;
774
774
  // pepperoni pizza from bitfinex
775
775
  for (let i = 0; i < depth; i++) {
776
- const bid = this.safeValue(bids, i);
777
- const ask = this.safeValue(asks, i);
776
+ const bid = this.safeList(bids, i);
777
+ const ask = this.safeList(asks, i);
778
778
  if (bid !== undefined) {
779
779
  stringArray.push(this.numberToString(bids[i][idToCheck]));
780
780
  stringArray.push(this.numberToString(bids[i][1]));
@@ -1279,7 +1279,7 @@ class bitfinex extends bitfinex$1["default"] {
1279
1279
  if (message[1] === 'hb') {
1280
1280
  return; // skip heartbeats within subscription channels for now
1281
1281
  }
1282
- const subscription = this.safeValue(client.subscriptions, channelId, {});
1282
+ const subscription = this.safeDict(client.subscriptions, channelId, {});
1283
1283
  const channel = this.safeString(subscription, 'channel');
1284
1284
  const name = this.safeString(message, 1);
1285
1285
  const publicMethods = {
@@ -374,9 +374,9 @@ class bitget extends bitget$1["default"] {
374
374
  // "ts": 1753230479687
375
375
  // }
376
376
  //
377
- const arg = this.safeValue(message, 'arg', {});
378
- const data = this.safeValue(message, 'data', []);
379
- const ticker = this.safeValue(data, 0, {});
377
+ const arg = this.safeDict(message, 'arg', {});
378
+ const data = this.safeList(message, 'data', []);
379
+ const ticker = this.safeDict(data, 0, {});
380
380
  const utaTimestamp = this.safeInteger(message, 'ts');
381
381
  const timestamp = this.safeInteger(ticker, 'ts', utaTimestamp);
382
382
  const instType = this.safeStringLower(arg, 'instType');
@@ -468,9 +468,9 @@ class bitget extends bitget$1["default"] {
468
468
  client.resolve(ticker, messageHash);
469
469
  }
470
470
  parseWsBidAsk(message, market = undefined) {
471
- const arg = this.safeValue(message, 'arg', {});
472
- const data = this.safeValue(message, 'data', []);
473
- const ticker = this.safeValue(data, 0, {});
471
+ const arg = this.safeDict(message, 'arg', {});
472
+ const data = this.safeList(message, 'data', []);
473
+ const ticker = this.safeDict(data, 0, {});
474
474
  const utaTimestamp = this.safeInteger(message, 'ts');
475
475
  const timestamp = this.safeInteger(ticker, 'ts', utaTimestamp);
476
476
  const instType = this.safeStringLower(arg, 'instType');
@@ -510,7 +510,7 @@ class bitget extends bitget$1["default"] {
510
510
  }
511
511
  const market = this.market(symbol);
512
512
  symbol = market['symbol'];
513
- const timeframes = this.safeValue(this.options, 'timeframes');
513
+ const timeframes = this.safeDict(this.options, 'timeframes');
514
514
  const interval = this.safeString(timeframes, timeframe);
515
515
  let messageHash = undefined;
516
516
  let instType = undefined;
@@ -636,13 +636,13 @@ class bitget extends bitget$1["default"] {
636
636
  // "ts": 1755594421877
637
637
  // }
638
638
  //
639
- const arg = this.safeValue(message, 'arg', {});
639
+ const arg = this.safeDict(message, 'arg', {});
640
640
  const instType = this.safeStringLower(arg, 'instType');
641
641
  const marketType = (instType === 'spot') ? 'spot' : 'contract';
642
642
  const marketId = this.safeString2(arg, 'instId', 'symbol');
643
643
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
644
644
  const symbol = market['symbol'];
645
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
645
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
646
646
  const channel = this.safeString2(arg, 'channel', 'topic', '');
647
647
  let interval = this.safeString(arg, 'interval');
648
648
  let isUta = undefined;
@@ -653,7 +653,7 @@ class bitget extends bitget$1["default"] {
653
653
  else {
654
654
  isUta = true;
655
655
  }
656
- const timeframes = this.safeValue(this.options, 'timeframes');
656
+ const timeframes = this.safeDict(this.options, 'timeframes');
657
657
  const timeframe = this.findTimeframe(interval, timeframes);
658
658
  if (timeframe === undefined) {
659
659
  return;
@@ -884,7 +884,7 @@ class bitget extends bitget$1["default"] {
884
884
  // "ts": 1755937421337
885
885
  // }
886
886
  //
887
- const arg = this.safeValue(message, 'arg');
887
+ const arg = this.safeDict(message, 'arg');
888
888
  const channel = this.safeString2(arg, 'channel', 'topic', '');
889
889
  const instType = this.safeStringLower(arg, 'instType');
890
890
  const marketType = (instType === 'spot') ? 'spot' : 'contract';
@@ -892,8 +892,8 @@ class bitget extends bitget$1["default"] {
892
892
  const market = this.safeMarket(marketId, undefined, undefined, marketType);
893
893
  const symbol = market['symbol'];
894
894
  const messageHash = 'orderbook:' + symbol;
895
- const data = this.safeValue(message, 'data');
896
- const rawOrderBook = this.safeValue(data, 0);
895
+ const data = this.safeList(message, 'data');
896
+ const rawOrderBook = this.safeDict(data, 0, {});
897
897
  const timestamp = this.safeInteger(rawOrderBook, 'ts');
898
898
  const incrementalBook = channel === 'books';
899
899
  if (incrementalBook) {
@@ -1042,7 +1042,7 @@ class bitget extends bitget$1["default"] {
1042
1042
  }
1043
1043
  const trades = await this.watchPublicMultiple(uta, messageHashes, topics, params);
1044
1044
  if (this.newUpdates) {
1045
- const first = this.safeValue(trades, 0);
1045
+ const first = this.safeDict(trades, 0);
1046
1046
  const tradeSymbol = this.safeString(first, 'symbol');
1047
1047
  limit = trades.getLimit(tradeSymbol, limit);
1048
1048
  }
@@ -1107,7 +1107,7 @@ class bitget extends bitget$1["default"] {
1107
1107
  // "ts": 1701910980730
1108
1108
  // }
1109
1109
  //
1110
- const arg = this.safeValue(message, 'arg', {});
1110
+ const arg = this.safeDict(message, 'arg', {});
1111
1111
  const instType = this.safeStringLower(arg, 'instType');
1112
1112
  const marketType = (instType === 'spot') ? 'spot' : 'contract';
1113
1113
  const marketId = this.safeString2(arg, 'instId', 'symbol');
@@ -1959,8 +1959,8 @@ class bitget extends bitget$1["default"] {
1959
1959
  const timestamp = this.safeInteger2(order, 'cTime', 'createdTime');
1960
1960
  const symbol = market['symbol'];
1961
1961
  const rawStatus = this.safeString2(order, 'status', 'orderStatus');
1962
- const orderFee = this.safeValue(order, 'feeDetail', []);
1963
- const fee = this.safeValue(orderFee, 0);
1962
+ const orderFee = this.safeList(order, 'feeDetail', []);
1963
+ const fee = this.safeDict(orderFee, 0);
1964
1964
  const feeAmount = this.safeString(fee, 'fee');
1965
1965
  let feeObject = undefined;
1966
1966
  if (feeAmount !== undefined) {
@@ -2742,8 +2742,8 @@ class bitget extends bitget$1["default"] {
2742
2742
  'account-crossed': this.handleBalance,
2743
2743
  'kline': this.handleOHLCV,
2744
2744
  };
2745
- const arg = this.safeValue(message, 'arg', {});
2746
- const topic = this.safeValue2(arg, 'channel', 'topic', '');
2745
+ const arg = this.safeDict(message, 'arg', {});
2746
+ const topic = this.safeString2(arg, 'channel', 'topic', '');
2747
2747
  const method = this.safeValue(methods, topic);
2748
2748
  if (method !== undefined) {
2749
2749
  method.call(this, client, message);
@@ -2878,7 +2878,7 @@ class bitget extends bitget$1["default"] {
2878
2878
  else {
2879
2879
  isUta = true;
2880
2880
  }
2881
- const timeframes = this.safeValue(this.options, 'timeframes');
2881
+ const timeframes = this.safeDict(this.options, 'timeframes');
2882
2882
  const timeframe = this.findTimeframe(interval, timeframes);
2883
2883
  const market = this.safeMarket(instId, undefined, undefined, type);
2884
2884
  const symbol = market['symbol'];
@@ -480,7 +480,7 @@ class bithumb extends bithumb$1["default"] {
480
480
  return;
481
481
  }
482
482
  const streamType = this.safeString(message, 'stream_type');
483
- const options = this.safeValue(this.options, 'watchOrderBook', {});
483
+ const options = this.safeDict(this.options, 'watchOrderBook', {});
484
484
  const obLimit = this.safeInteger(options, 'limit', 1000);
485
485
  if (!(symbol in this.orderbooks) || (streamType === 'SNAPSHOT')) {
486
486
  this.orderbooks[symbol] = this.orderBook({}, obLimit);