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
@@ -229,7 +229,7 @@ export default class binance extends binanceRest {
229
229
  let stream = this.safeString(streamBySubscriptionsHash, subscriptionHash);
230
230
  if (stream === undefined) {
231
231
  let streamIndex = this.safeInteger(this.options, 'streamIndex', -1);
232
- const streamLimits = this.safeValue(this.options, 'streamLimits');
232
+ const streamLimits = this.safeDict(this.options, 'streamLimits');
233
233
  const streamLimit = this.safeInteger(streamLimits, type);
234
234
  streamIndex = streamIndex + 1;
235
235
  const normalizedIndex = streamIndex % streamLimit;
@@ -238,7 +238,7 @@ export default class binance extends binanceRest {
238
238
  if (subscriptionHash !== undefined) {
239
239
  this.options['streamBySubscriptionsHash'][subscriptionHash] = stream;
240
240
  }
241
- const subscriptionsByStreams = this.safeValue(this.options, 'numSubscriptionsByStream');
241
+ const subscriptionsByStreams = this.safeDict(this.options, 'numSubscriptionsByStream');
242
242
  if (subscriptionsByStreams === undefined) {
243
243
  this.options['numSubscriptionsByStream'] = this.createSafeDictionary();
244
244
  }
@@ -460,7 +460,7 @@ export default class binance extends binanceRest {
460
460
  // }
461
461
  // }
462
462
  //
463
- const rawLiquidation = this.safeValue(message, 'o', {});
463
+ const rawLiquidation = this.safeDict(message, 'o', {});
464
464
  const marketId = this.safeString(rawLiquidation, 's');
465
465
  const market = this.safeMarket(marketId, undefined, '', 'contract');
466
466
  const symbol = market['symbol'];
@@ -951,9 +951,9 @@ export default class binance extends binanceRest {
951
951
  const messageHash = 'orderbook::' + symbol;
952
952
  try {
953
953
  const defaultLimit = this.safeInteger(this.options, 'watchOrderBookLimit', 1000);
954
- const type = this.safeValue(subscription, 'type');
954
+ const type = this.safeString(subscription, 'type');
955
955
  const limit = this.safeInteger(subscription, 'limit', defaultLimit);
956
- const params = this.safeValue(subscription, 'params');
956
+ const params = this.safeDict(subscription, 'params');
957
957
  // 3. Get a depth snapshot from https://www.binance.com/api/v1/depth?symbol=BNBBTC&limit=1000 .
958
958
  // todo: this is a synch blocking call - make it async
959
959
  // default 100, max 1000, valid limits 5, 10, 20, 50, 100, 500, 1000
@@ -1018,8 +1018,8 @@ export default class binance extends binanceRest {
1018
1018
  }
1019
1019
  handleOrderBookMessage(client, message, orderbook) {
1020
1020
  const u = this.safeInteger(message, 'u');
1021
- this.handleDeltas(orderbook['asks'], this.safeValue(message, 'a', []));
1022
- this.handleDeltas(orderbook['bids'], this.safeValue(message, 'b', []));
1021
+ this.handleDeltas(orderbook['asks'], this.safeList(message, 'a', []));
1022
+ this.handleDeltas(orderbook['bids'], this.safeList(message, 'b', []));
1023
1023
  orderbook['nonce'] = u;
1024
1024
  const timestamp = this.safeInteger(message, 'E');
1025
1025
  orderbook['timestamp'] = timestamp;
@@ -1150,7 +1150,7 @@ export default class binance extends binanceRest {
1150
1150
  const defaultLimit = this.safeInteger(this.options, 'watchOrderBookLimit', 1000);
1151
1151
  // const messageHash = this.safeString (subscription, 'messageHash');
1152
1152
  const symbolOfSubscription = this.safeString(subscription, 'symbol'); // watchOrderBook
1153
- const symbols = this.safeValue(subscription, 'symbols', [symbolOfSubscription]); // watchOrderBookForSymbols
1153
+ const symbols = this.safeList(subscription, 'symbols', [symbolOfSubscription]); // watchOrderBookForSymbols
1154
1154
  const limit = this.safeInteger(subscription, 'limit', defaultLimit);
1155
1155
  // handle list of symbols
1156
1156
  for (let i = 0; i < symbols.length; i++) {
@@ -1173,7 +1173,7 @@ export default class binance extends binanceRest {
1173
1173
  //
1174
1174
  const id = this.safeString(message, 'id');
1175
1175
  const subscriptionsById = this.indexBy(client.subscriptions, 'id');
1176
- const subscription = this.safeValue(subscriptionsById, id, {});
1176
+ const subscription = this.safeDict(subscriptionsById, id, {});
1177
1177
  const method = this.safeValue(subscription, 'method');
1178
1178
  if (method !== undefined) {
1179
1179
  method.call(this, client, message, subscription);
@@ -1276,7 +1276,7 @@ export default class binance extends binanceRest {
1276
1276
  };
1277
1277
  const trades = await this.watchMultiple(url, messageHashes, this.extend(request, query), messageHashes, subscribe);
1278
1278
  if (this.newUpdates) {
1279
- const first = this.safeValue(trades, 0);
1279
+ const first = this.safeDict(trades, 0);
1280
1280
  const tradeSymbol = this.safeString(first, 'symbol');
1281
1281
  limit = trades.getLimit(tradeSymbol, limit);
1282
1282
  }
@@ -1864,7 +1864,7 @@ export default class binance extends binanceRest {
1864
1864
  'markPrice_kline': 'markPriceKline',
1865
1865
  };
1866
1866
  event = this.safeString(eventMap, event, event);
1867
- const kline = this.safeValue(message, 'k');
1867
+ const kline = this.safeDict(message, 'k');
1868
1868
  let marketId = this.safeString2(kline, 's', 'ps');
1869
1869
  if (event === 'indexPriceKline') {
1870
1870
  // indexPriceKline doesn't have the _PERP suffix
@@ -1887,8 +1887,8 @@ export default class binance extends binanceRest {
1887
1887
  const marketType = isSpot ? 'spot' : 'contract';
1888
1888
  const symbol = this.safeSymbol(marketId, undefined, undefined, marketType);
1889
1889
  const messageHash = 'ohlcv::' + symbol + '::' + unifiedTimeframe;
1890
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
1891
- let stored = this.safeValue(this.safeValue(this.ohlcvs, symbol), unifiedTimeframe);
1890
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
1891
+ let stored = this.safeValue(this.safeDict(this.ohlcvs, symbol), unifiedTimeframe);
1892
1892
  if (stored === undefined) {
1893
1893
  const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
1894
1894
  stored = new ArrayCacheByTimestamp(limit);
@@ -2623,7 +2623,7 @@ export default class binance extends binanceRest {
2623
2623
  // }
2624
2624
  //
2625
2625
  const messageHash = this.safeString(message, 'id');
2626
- const result = this.safeValue(message, 'result', {});
2626
+ const result = this.safeDict(message, 'result', {});
2627
2627
  const ticker = this.parseWsTicker(result, 'future');
2628
2628
  client.resolve(ticker, messageHash);
2629
2629
  }
@@ -2711,12 +2711,12 @@ export default class binance extends binanceRest {
2711
2711
  continue;
2712
2712
  }
2713
2713
  const tickerMarketId = this.safeString(ticker, 's');
2714
- const tickerMarketsByIdList = this.safeValue(this.markets_by_id, tickerMarketId);
2714
+ const tickerMarketsByIdList = this.safeList(this.markets_by_id, tickerMarketId);
2715
2715
  const numTickerMarkets = (tickerMarketsByIdList === undefined) ? 0 : tickerMarketsByIdList.length;
2716
2716
  // an ambiguous id, spot and swap share e.g. BTCUSDC, must not be resolved by
2717
2717
  // blind first pick, the stream url decides; only a unique match, like an
2718
2718
  // option id, may override it, see https://github.com/ccxt/ccxt/issues/29728
2719
- const tickerMarketById = (numTickerMarkets === 1) ? this.safeValue(tickerMarketsByIdList, 0) : undefined;
2719
+ const tickerMarketById = (numTickerMarkets === 1) ? this.safeDict(tickerMarketsByIdList, 0) : undefined;
2720
2720
  const isSpot = this.isSpotUrl(client);
2721
2721
  const tickerFallbackType = isSpot ? 'spot' : 'contract';
2722
2722
  const tickerMarketType = (tickerMarketById !== undefined) ? tickerMarketById['type'] : tickerFallbackType;
@@ -2993,7 +2993,7 @@ export default class binance extends binanceRest {
2993
2993
  }
2994
2994
  params = this.omit(params, 'symbol');
2995
2995
  const isStock = (type === 'stock');
2996
- const options = this.safeValue(this.options, type, {});
2996
+ const options = this.safeDict(this.options, type, {});
2997
2997
  const lastAuthenticatedTime = this.safeInteger(options, 'lastAuthenticatedTime', 0);
2998
2998
  const refreshRateKey = isStock ? 'stockListenKeyRefreshRate' : 'listenKeyRefreshRate';
2999
2999
  const listenKeyRefreshRate = this.safeInteger(this.options, refreshRateKey, 1200000);
@@ -3102,7 +3102,7 @@ export default class binance extends binanceRest {
3102
3102
  return;
3103
3103
  }
3104
3104
  const isStock = (type === 'stock');
3105
- const options = this.safeValue(this.options, type, {});
3105
+ const options = this.safeDict(this.options, type, {});
3106
3106
  const listenKey = this.safeString(options, 'listenKey');
3107
3107
  if (listenKey === undefined) {
3108
3108
  // A network error happened: we can't renew a listen key that does not exist.
@@ -3199,7 +3199,7 @@ export default class binance extends binanceRest {
3199
3199
  if ((type in client.subscriptions) && (type in this.balance)) {
3200
3200
  return;
3201
3201
  }
3202
- const options = this.safeValue(this.options, 'watchBalance');
3202
+ const options = this.safeDict(this.options, 'watchBalance');
3203
3203
  const fetchBalanceSnapshot = this.safeBool(options, 'fetchBalanceSnapshot', false);
3204
3204
  if (fetchBalanceSnapshot === true) {
3205
3205
  const messageHash = type + ':fetchBalanceSnapshot';
@@ -3220,7 +3220,7 @@ export default class binance extends binanceRest {
3220
3220
  params['portfolioMargin'] = true;
3221
3221
  }
3222
3222
  const response = await this.fetchBalance(params);
3223
- this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
3223
+ this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
3224
3224
  // don't remove the future from the .futures cache
3225
3225
  if (messageHash in client.futures) {
3226
3226
  const future = client.futures[messageHash];
@@ -5424,12 +5424,12 @@ export default class binance extends binanceRest {
5424
5424
  if (orderId !== undefined && tradeFee !== undefined && symbol !== undefined) {
5425
5425
  const cachedOrders = this.orders;
5426
5426
  if (cachedOrders !== undefined) {
5427
- const orders = this.safeValue(cachedOrders.hashmap, symbol, {});
5428
- const order = this.safeValue(orders, orderId);
5427
+ const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
5428
+ const order = this.safeDict(orders, orderId);
5429
5429
  if (order !== undefined) {
5430
5430
  // accumulate order fees
5431
5431
  const fees = this.safeValue(order, 'fees');
5432
- const fee = this.safeValue(order, 'fee');
5432
+ const fee = this.safeDict(order, 'fee');
5433
5433
  if (!this.isEmpty(fees)) {
5434
5434
  let insertNewFeeCurrency = true;
5435
5435
  for (let i = 0; i < fees.length; i++) {
@@ -5506,8 +5506,8 @@ export default class binance extends binanceRest {
5506
5506
  this.orders = new ArrayCacheBySymbolById(limit);
5507
5507
  }
5508
5508
  const cachedOrders = this.orders;
5509
- const orders = this.safeValue(cachedOrders.hashmap, symbol, {});
5510
- const order = this.safeValue(orders, orderId);
5509
+ const orders = this.safeDict(cachedOrders.hashmap, symbol, {});
5510
+ const order = this.safeDict(orders, orderId);
5511
5511
  if (order !== undefined) {
5512
5512
  const fee = this.safeValue(order, 'fee');
5513
5513
  if (fee !== undefined) {
@@ -5700,7 +5700,7 @@ export default class binance extends binanceRest {
5700
5700
  }
5701
5701
  // user subscription wraps message in subscriptionId and event
5702
5702
  const id = this.safeString(message, 'id');
5703
- const subscriptions = this.safeValue(client.subscriptions, id);
5703
+ const subscriptions = this.safeDict(client.subscriptions, id);
5704
5704
  let method = this.safeValue(subscriptions, 'method');
5705
5705
  if (method !== undefined) {
5706
5706
  method.call(this, client, message);
@@ -15,7 +15,7 @@ export default class bingx extends bingxRest {
15
15
  * @param {object} [params] extra parameters specific to the exchange API endpoint
16
16
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
17
17
  */
18
- watchTicker(symbol: string, params?: {}): Promise<Ticker>;
18
+ watchTicker(symbol: string, params?: Dict): Promise<Ticker>;
19
19
  /**
20
20
  * @method
21
21
  * @name bingx#unWatchTicker
@@ -28,8 +28,8 @@ export default class bingx extends bingxRest {
28
28
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
29
29
  */
30
30
  unWatchTicker(symbol: string, params?: {}): Promise<any>;
31
- handleTicker(client: Client, message: any): void;
32
- parseWsTicker(message: any, market?: Market, isInverse?: Bool): Ticker;
31
+ handleTicker(client: Client, message: Dict): void;
32
+ parseWsTicker(message: Dict, market?: Market, isInverse?: Bool): Ticker;
33
33
  getOrderBookLimitByMarketType(marketType: string, limit?: Int): number;
34
34
  getMessageHash(unifiedChannel: string, symbol?: Str, extra?: Str): string;
35
35
  /**
@@ -45,7 +45,7 @@ export default class bingx extends bingxRest {
45
45
  * @param {object} [params] extra parameters specific to the exchange API endpoint
46
46
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
47
47
  */
48
- watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
48
+ watchTrades(symbol: string, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
49
49
  /**
50
50
  * @method
51
51
  * @name bingx#unWatchTrades
@@ -59,7 +59,7 @@ export default class bingx extends bingxRest {
59
59
  * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
60
60
  */
61
61
  unWatchTrades(symbol: string, params?: {}): Promise<any>;
62
- handleTrades(client: Client, message: any): void;
62
+ handleTrades(client: Client, message: Dict): void;
63
63
  /**
64
64
  * @method
65
65
  * @name bingx#watchOrderBook
@@ -72,7 +72,7 @@ export default class bingx extends bingxRest {
72
72
  * @param {object} [params] extra parameters specific to the exchange API endpoint
73
73
  * @returns {object} an [order book structure]{@link https://docs.ccxt.com/?id=order-book-structure}
74
74
  */
75
- watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
75
+ watchOrderBook(symbol: string, limit?: Int, params?: Dict): Promise<OrderBook>;
76
76
  /**
77
77
  * @method
78
78
  * @name bingx#unWatchOrderBook
@@ -86,9 +86,9 @@ export default class bingx extends bingxRest {
86
86
  */
87
87
  unWatchOrderBook(symbol: string, params?: {}): Promise<any>;
88
88
  handleDelta(bookside: any, delta: any): void;
89
- handleOrderBook(client: Client, message: any): void;
89
+ handleOrderBook(client: Client, message: Dict): void;
90
90
  parseWsOHLCV(ohlcv: any, market?: Market): OHLCV;
91
- handleOHLCV(client: Client, message: any): void;
91
+ handleOHLCV(client: Client, message: Dict): void;
92
92
  /**
93
93
  * @method
94
94
  * @name bingx#watchOHLCV
@@ -103,7 +103,7 @@ export default class bingx extends bingxRest {
103
103
  * @param {object} [params] extra parameters specific to the exchange API endpoint
104
104
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
105
105
  */
106
- watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
106
+ watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: Dict): Promise<OHLCV[]>;
107
107
  /**
108
108
  * @method
109
109
  * @name bingx#unWatchOHLCV
@@ -130,7 +130,7 @@ export default class bingx extends bingxRest {
130
130
  * @param {object} [params] extra parameters specific to the exchange API endpoint
131
131
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
132
132
  */
133
- watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
133
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Order[]>;
134
134
  /**
135
135
  * @method
136
136
  * @name bingx#watchMyTrades
@@ -144,7 +144,7 @@ export default class bingx extends bingxRest {
144
144
  * @param {object} [params] extra parameters specific to the exchange API endpoint
145
145
  * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
146
146
  */
147
- watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
147
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
148
148
  /**
149
149
  * @method
150
150
  * @name bingx#watchBalance
@@ -155,9 +155,9 @@ export default class bingx extends bingxRest {
155
155
  * @param {object} [params] extra parameters specific to the exchange API endpoint
156
156
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
157
157
  */
158
- watchBalance(params?: {}): Promise<Balances>;
159
- setBalanceCache(client: Client, type: any, subType: any, subscriptionHash: any, params: any): void;
160
- loadBalanceSnapshot(client: Client, messageHash: any, type: any, subType: any): Promise<void>;
158
+ watchBalance(params?: Dict): Promise<Balances>;
159
+ setBalanceCache(client: Client, type: any, subType: Str, subscriptionHash: string, params: Dict): void;
160
+ loadBalanceSnapshot(client: Client, messageHash: string, type: any, subType: Str): Promise<void>;
161
161
  /**
162
162
  * @method
163
163
  * @name bingx#watchPositions
@@ -169,19 +169,19 @@ export default class bingx extends bingxRest {
169
169
  * @param {object} [params] extra parameters specific to the exchange API endpoint
170
170
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/en/latest/manual.html#position-structure}
171
171
  */
172
- watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
173
- setPositionsCache(client: Client, type: any, symbols?: Strings): void;
174
- loadPositionsSnapshot(client: Client, messageHash: any, type: any): Promise<void>;
175
- parseWsPosition(position: any, market?: Market): Position;
176
- handlePositions(client: Client, message: any): void;
177
- handleErrorMessage(client: Client, message: any): boolean;
178
- keepAliveListenKey(params?: {}): Promise<void>;
179
- authenticate(params?: {}): Promise<void>;
172
+ watchPositions(symbols?: Strings, since?: Int, limit?: Int, params?: Dict): Promise<Position[]>;
173
+ setPositionsCache(client: Client, type: Str, symbols?: Strings): void;
174
+ loadPositionsSnapshot(client: Client, messageHash: string, type: Str): Promise<void>;
175
+ parseWsPosition(position: Dict, market?: Market): Position;
176
+ handlePositions(client: Client, message: Dict): void;
177
+ handleErrorMessage(client: Client, message: Dict): boolean;
178
+ keepAliveListenKey(params?: Dict): Promise<void>;
179
+ authenticate(params?: Dict): Promise<void>;
180
180
  pong(client: Client, message: any): Promise<void>;
181
- handleOrder(client: any, message: any): void;
182
- handleMyTrades(client: Client, message: any): void;
183
- handleBalance(client: Client, message: any): void;
181
+ handleOrder(client: Client, message: Dict): void;
182
+ handleMyTrades(client: Client, message: Dict): void;
183
+ handleBalance(client: Client, message: Dict): void;
184
184
  handleMessage(client: Client, message: any): void;
185
- handleSubscriptionStatus(client: Client, message: any): any;
185
+ handleSubscriptionStatus(client: Client, message: Dict): Dict;
186
186
  handleUnSubscription(client: Client, subscription: Dict): void;
187
187
  }
@@ -258,7 +258,7 @@ export default class bingx extends bingxRest {
258
258
  // }
259
259
  // }
260
260
  //
261
- const data = this.safeValue(message, 'data', {});
261
+ const data = this.safeDict(message, 'data', {});
262
262
  const marketId = this.safeString(data, 's');
263
263
  // const marketId = messageHash.split('@')[0];
264
264
  const isSwap = client.url.indexOf('swap') >= 0;
@@ -860,7 +860,7 @@ export default class bingx extends bingxRest {
860
860
  candles = [this.safeDict(data, 'K', {})];
861
861
  }
862
862
  const symbol = market['symbol'];
863
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
863
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
864
864
  const rawTimeframe = dataType.split('_')[1];
865
865
  const marketOptions = this.safeDict(this.options, marketType);
866
866
  const timeframes = this.safeDict(marketOptions, 'timeframes', {});
@@ -922,8 +922,8 @@ export default class bingx extends bingxRest {
922
922
  if (url === undefined) {
923
923
  throw new BadRequest(this.id + ' watchOHLCV is not supported for ' + marketType + ' markets.');
924
924
  }
925
- const options = this.safeValue(this.options, marketType, {});
926
- const timeframes = this.safeValue(options, 'timeframes', {});
925
+ const options = this.safeDict(this.options, marketType, {});
926
+ const timeframes = this.safeDict(options, 'timeframes', {});
927
927
  const rawTimeframe = this.safeString(timeframes, timeframe, timeframe);
928
928
  const messageHash = this.getMessageHash('ohlcv', market['symbol'], timeframe);
929
929
  const subscriptionHash = market['id'] + '@kline_' + rawTimeframe;
@@ -965,8 +965,8 @@ export default class bingx extends bingxRest {
965
965
  await this.loadMarkets();
966
966
  }
967
967
  const market = this.market(symbol);
968
- const options = this.safeValue(this.options, market['type'], {});
969
- const timeframes = this.safeValue(options, 'timeframes', {});
968
+ const options = this.safeDict(this.options, market['type'], {});
969
+ const timeframes = this.safeDict(options, 'timeframes', {});
970
970
  const rawTimeframe = this.safeString(timeframes, timeframe, timeframe);
971
971
  const subMessageHash = market['id'] + '@kline_' + rawTimeframe;
972
972
  const messageHash = 'unsubscribe::' + subMessageHash;
@@ -1185,7 +1185,7 @@ export default class bingx extends bingxRest {
1185
1185
  }
1186
1186
  async loadBalanceSnapshot(client, messageHash, type, subType) {
1187
1187
  const response = await this.fetchBalance({ 'type': type, 'subType': subType });
1188
- this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
1188
+ this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
1189
1189
  // don't remove the future from the .futures cache
1190
1190
  if (messageHash in client.futures) {
1191
1191
  const future = client.futures[messageHash];
@@ -1615,7 +1615,7 @@ export default class bingx extends bingxRest {
1615
1615
  // }
1616
1616
  //
1617
1617
  const isSpot = ('dataType' in message);
1618
- const data = this.safeValue2(message, 'data', 'o', {});
1618
+ const data = this.safeDict2(message, 'data', 'o', {});
1619
1619
  if (this.orders === undefined) {
1620
1620
  const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
1621
1621
  this.orders = new ArrayCacheBySymbolById(limit);
@@ -1820,7 +1820,7 @@ export default class bingx extends bingxRest {
1820
1820
  return;
1821
1821
  }
1822
1822
  if (dataType.indexOf('executionReport') >= 0) {
1823
- const data = this.safeValue(message, 'data', {});
1823
+ const data = this.safeDict(message, 'data', {});
1824
1824
  const type = this.safeString(data, 'x');
1825
1825
  if (type === 'TRADE') {
1826
1826
  this.handleMyTrades(client, message);
@@ -1835,14 +1835,14 @@ export default class bingx extends bingxRest {
1835
1835
  }
1836
1836
  if (e === 'ORDER_TRADE_UPDATE') {
1837
1837
  this.handleOrder(client, message);
1838
- const data = this.safeValue(message, 'o', {});
1838
+ const data = this.safeDict(message, 'o', {});
1839
1839
  const type = this.safeString(data, 'x');
1840
1840
  const status = this.safeString(data, 'X');
1841
1841
  if ((type === 'TRADE') && (status === 'FILLED')) {
1842
1842
  this.handleMyTrades(client, message);
1843
1843
  }
1844
1844
  }
1845
- const msgData = this.safeValue(message, 'data');
1845
+ const msgData = this.safeDict(message, 'data');
1846
1846
  const msgEvent = this.safeString(msgData, 'e');
1847
1847
  if (msgEvent === '24hTicker') {
1848
1848
  this.handleTicker(client, message);
@@ -3,8 +3,8 @@ import type { Int, Str, OrderBook, Order, Trade, Ticker, OHLCV, Balances, Dict,
3
3
  import Client from '../base/ws/Client.js';
4
4
  export default class bitfinex extends bitfinexRest {
5
5
  describe(): any;
6
- subscribe(channel: any, symbol: any, params?: {}): Promise<any>;
7
- unSubscribe(channel: any, topic: any, symbol: any, params?: {}): Promise<any>;
6
+ subscribe(channel: any, symbol: any, params?: Dict): Promise<any>;
7
+ unSubscribe(channel: any, topic: any, symbol: any, params?: Dict): Promise<any>;
8
8
  subscribePrivate(messageHash: any): Promise<any>;
9
9
  /**
10
10
  * @method
@@ -17,7 +17,7 @@ export default class bitfinex extends bitfinexRest {
17
17
  * @param {object} [params] extra parameters specific to the exchange API endpoint
18
18
  * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
19
19
  */
20
- watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
20
+ watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: Dict): Promise<OHLCV[]>;
21
21
  /**
22
22
  * @method
23
23
  * @name bitfinex#unWatchOHLCV
@@ -27,8 +27,8 @@ export default class bitfinex extends bitfinexRest {
27
27
  * @param {object} [params] extra parameters specific to the exchange API endpoint
28
28
  * @returns {bool} true if successfully unsubscribed, false otherwise
29
29
  */
30
- unWatchOHLCV(symbol: string, timeframe?: string, params?: {}): Promise<any>;
31
- handleOHLCV(client: Client, message: any, subscription: any): void;
30
+ unWatchOHLCV(symbol: string, timeframe?: string, params?: Dict): Promise<any>;
31
+ handleOHLCV(client: Client, message: any[], subscription: Dict): void;
32
32
  /**
33
33
  * @method
34
34
  * @name bitfinex#watchTrades
@@ -39,7 +39,7 @@ export default class bitfinex extends bitfinexRest {
39
39
  * @param {object} [params] extra parameters specific to the exchange API endpoint
40
40
  * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
41
41
  */
42
- watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
42
+ watchTrades(symbol: string, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
43
43
  /**
44
44
  * @method
45
45
  * @name bitfinex#unWatchTrades
@@ -59,7 +59,7 @@ export default class bitfinex extends bitfinexRest {
59
59
  * @param {object} [params] extra parameters specific to the exchange API endpoint
60
60
  * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
61
61
  */
62
- watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
62
+ watchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Trade[]>;
63
63
  /**
64
64
  * @method
65
65
  * @name bitfinex#watchTicker
@@ -68,7 +68,7 @@ export default class bitfinex extends bitfinexRest {
68
68
  * @param {object} [params] extra parameters specific to the exchange API endpoint
69
69
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
70
70
  */
71
- watchTicker(symbol: string, params?: {}): Promise<Ticker>;
71
+ watchTicker(symbol: string, params?: Dict): Promise<Ticker>;
72
72
  /**
73
73
  * @method
74
74
  * @name bitfinex#unWatchTicker
@@ -78,10 +78,10 @@ export default class bitfinex extends bitfinexRest {
78
78
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
79
79
  */
80
80
  unWatchTicker(symbol: string, params?: {}): Promise<any>;
81
- handleMyTrade(client: Client, message: any, subscription?: {}): void;
82
- handleTrades(client: Client, message: any, subscription: any): void;
81
+ handleMyTrade(client: Client, message: any[], subscription?: Dict): void;
82
+ handleTrades(client: Client, message: any[], subscription: Dict): void;
83
83
  parseWsTrade(trade: any, market?: Market): Trade;
84
- handleTicker(client: Client, message: any, subscription: any): void;
84
+ handleTicker(client: Client, message: any[], subscription: Dict): void;
85
85
  parseWsTicker(ticker: Dict, market?: Market): Ticker;
86
86
  /**
87
87
  * @method
@@ -92,9 +92,9 @@ export default class bitfinex extends bitfinexRest {
92
92
  * @param {object} [params] extra parameters specific to the exchange API endpoint
93
93
  * @returns {object} an [order book structure]{@link https://docs.ccxt.com/?id=order-book-structure}
94
94
  */
95
- watchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
96
- handleOrderBook(client: Client, message: any, subscription: any): void;
97
- handleChecksum(client: Client, message: any, subscription: any): void;
95
+ watchOrderBook(symbol: string, limit?: Int, params?: Dict): Promise<OrderBook>;
96
+ handleOrderBook(client: Client, message: any[], subscription: Dict): void;
97
+ handleChecksum(client: Client, message: any[], subscription: Dict): void;
98
98
  /**
99
99
  * @method
100
100
  * @name bitfinex#watchBalance
@@ -103,14 +103,14 @@ export default class bitfinex extends bitfinexRest {
103
103
  * @param {str} [params.type] spot or contract if not provided this.options['defaultType'] is used
104
104
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
105
105
  */
106
- watchBalance(params?: {}): Promise<Balances>;
107
- handleBalance(client: Client, message: any, subscription: any): void;
106
+ watchBalance(params?: Dict): Promise<Balances>;
107
+ handleBalance(client: Client, message: any[], subscription: Dict): void;
108
108
  parseWsBalance(balance: any): import("../base/types.js").BalanceAccount;
109
- handleSystemStatus(client: Client, message: any): any;
110
- handleUnsubscriptionStatus(client: Client, message: any): boolean;
111
- handleSubscriptionStatus(client: Client, message: any): any;
112
- authenticate(params?: {}): Promise<any>;
113
- handleAuthenticationMessage(client: Client, message: any): void;
109
+ handleSystemStatus(client: Client, message: Dict): Dict;
110
+ handleUnsubscriptionStatus(client: Client, message: Dict): boolean;
111
+ handleSubscriptionStatus(client: Client, message: Dict): Dict;
112
+ authenticate(params?: Dict): Promise<any>;
113
+ handleAuthenticationMessage(client: Client, message: Dict): void;
114
114
  /**
115
115
  * @method
116
116
  * @name bitfinex#watchOrders
@@ -121,9 +121,9 @@ export default class bitfinex extends bitfinexRest {
121
121
  * @param {object} [params] extra parameters specific to the exchange API endpoint
122
122
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
123
123
  */
124
- watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
125
- handleOrders(client: Client, message: any, subscription: any): void;
126
- parseWsOrderStatus(status: any): string;
127
- parseWsOrder(order: any, market?: Market): Order;
124
+ watchOrders(symbol?: Str, since?: Int, limit?: Int, params?: Dict): Promise<Order[]>;
125
+ handleOrders(client: Client, message: any[], subscription: Dict): void;
126
+ parseWsOrderStatus(status: Str): Str;
127
+ parseWsOrder(order: Dict, market?: Market): Order;
128
128
  handleMessage(client: Client, message: any): void;
129
129
  }
@@ -229,9 +229,9 @@ export default class bitfinex extends bitfinexRest {
229
229
  // ]
230
230
  // ]
231
231
  //
232
- const data = this.safeValue(message, 1, []);
232
+ const data = this.safeList(message, 1, []);
233
233
  let ohlcvs = [];
234
- const first = this.safeValue(data, 0);
234
+ const first = this.safeList(data, 0);
235
235
  if (Array.isArray(first)) {
236
236
  // snapshot
237
237
  ohlcvs = data;
@@ -240,7 +240,7 @@ export default class bitfinex extends bitfinexRest {
240
240
  // update
241
241
  ohlcvs = [data];
242
242
  }
243
- const channel = this.safeValue(subscription, 'channel');
243
+ const channel = this.safeString(subscription, 'channel');
244
244
  const key = this.safeString(subscription, 'key', '');
245
245
  const keyParts = key.split(':');
246
246
  const interval = this.safeString(keyParts, 1);
@@ -251,7 +251,7 @@ export default class bitfinex extends bitfinexRest {
251
251
  const timeframe = this.findTimeframe(interval);
252
252
  const symbol = market['symbol'];
253
253
  const messageHash = channel + ':' + interval + ':' + marketId;
254
- this.ohlcvs[symbol] = this.safeValue(this.ohlcvs, symbol, {});
254
+ this.ohlcvs[symbol] = this.safeDict(this.ohlcvs, symbol, {});
255
255
  let stored = this.safeValue(this.ohlcvs[symbol], timeframe);
256
256
  if (stored === undefined) {
257
257
  const limit = this.safeInteger(this.options, 'OHLCVLimit', 1000);
@@ -412,7 +412,7 @@ export default class bitfinex extends bitfinexRest {
412
412
  // ]
413
413
  //
414
414
  //
415
- const channel = this.safeValue(subscription, 'channel');
415
+ const channel = this.safeString(subscription, 'channel');
416
416
  const marketId = this.safeString(subscription, 'symbol');
417
417
  const market = this.safeMarket(marketId);
418
418
  const messageHash = channel + ':' + marketId;
@@ -443,7 +443,7 @@ export default class bitfinex extends bitfinexRest {
443
443
  // since te and tu updates are duplicated on the public stream
444
444
  return;
445
445
  }
446
- const trade = this.safeValue(message, 2, []);
446
+ const trade = this.safeList(message, 2, []);
447
447
  const parsed = this.parseWsTrade(trade, market);
448
448
  stored.append(parsed);
449
449
  }
@@ -636,7 +636,7 @@ export default class bitfinex extends bitfinexRest {
636
636
  throw new ExchangeError(this.id + ' watchOrderBook limit argument must be undefined, 25 or 100');
637
637
  }
638
638
  }
639
- const options = this.safeValue(this.options, 'watchOrderBook', {});
639
+ const options = this.safeDict(this.options, 'watchOrderBook', {});
640
640
  const prec = this.safeString(options, 'prec', 'P0');
641
641
  const freq = this.safeString(options, 'freq', 'F0');
642
642
  const request = {
@@ -761,7 +761,7 @@ export default class bitfinex extends bitfinexRest {
761
761
  const symbol = this.safeSymbol(marketId);
762
762
  const channel = 'book';
763
763
  const messageHash = channel + ':' + marketId;
764
- const book = this.safeValue(this.orderbooks, symbol);
764
+ const book = this.safeDict(this.orderbooks, symbol);
765
765
  if (book === undefined) {
766
766
  return;
767
767
  }
@@ -774,8 +774,8 @@ export default class bitfinex extends bitfinexRest {
774
774
  const idToCheck = isRaw ? 2 : 0;
775
775
  // pepperoni pizza from bitfinex
776
776
  for (let i = 0; i < depth; i++) {
777
- const bid = this.safeValue(bids, i);
778
- const ask = this.safeValue(asks, i);
777
+ const bid = this.safeList(bids, i);
778
+ const ask = this.safeList(asks, i);
779
779
  if (bid !== undefined) {
780
780
  stringArray.push(this.numberToString(bids[i][idToCheck]));
781
781
  stringArray.push(this.numberToString(bids[i][1]));
@@ -1280,7 +1280,7 @@ export default class bitfinex extends bitfinexRest {
1280
1280
  if (message[1] === 'hb') {
1281
1281
  return; // skip heartbeats within subscription channels for now
1282
1282
  }
1283
- const subscription = this.safeValue(client.subscriptions, channelId, {});
1283
+ const subscription = this.safeDict(client.subscriptions, channelId, {});
1284
1284
  const channel = this.safeString(subscription, 'channel');
1285
1285
  const name = this.safeString(message, 1);
1286
1286
  const publicMethods = {