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
@@ -856,7 +856,7 @@ class bitrue extends bitrue$1["default"] {
856
856
  }
857
857
  }
858
858
  const promises = await Promise.all(promisesRaw);
859
- const spotMarkets = this.safeValue(this.safeValue(promises, 0), 'symbols', []);
859
+ const spotMarkets = this.safeList(this.safeDict(promises, 0), 'symbols', []);
860
860
  const futureMarkets = this.safeValue(promises, 1);
861
861
  const deliveryMarkets = this.safeValue(promises, 2);
862
862
  let markets = spotMarkets;
@@ -2124,7 +2124,7 @@ class bitrue extends bitrue$1["default"] {
2124
2124
  request['volume'] = this.parseToNumeric(amount);
2125
2125
  }
2126
2126
  request['positionType'] = 1;
2127
- const reduceOnly = this.safeValue2(params, 'reduceOnly', 'reduce_only');
2127
+ const reduceOnly = this.safeBool2(params, 'reduceOnly', 'reduce_only');
2128
2128
  request['open'] = (reduceOnly === true) ? 'CLOSE' : 'OPEN';
2129
2129
  const leverage = this.safeString(params, 'leverage', '1');
2130
2130
  request['leverage'] = this.parseToNumeric(leverage);
@@ -2149,7 +2149,7 @@ class bitrue extends bitrue$1["default"] {
2149
2149
  params = this.omit(params, ['newClientOrderId', 'clientOrderId']);
2150
2150
  request['newClientOrderId'] = clientOrderId;
2151
2151
  }
2152
- const triggerPrice = this.safeValue2(params, 'triggerPrice', 'stopPrice');
2152
+ const triggerPrice = this.safeNumber2(params, 'triggerPrice', 'stopPrice');
2153
2153
  if (triggerPrice !== undefined) {
2154
2154
  params = this.omit(params, ['triggerPrice', 'stopPrice']);
2155
2155
  request['stopPrice'] = this.priceToPrecision(symbol, triggerPrice);
@@ -2202,7 +2202,7 @@ class bitrue extends bitrue$1["default"] {
2202
2202
  await this.loadMarkets();
2203
2203
  }
2204
2204
  const market = this.market(symbol);
2205
- const origClientOrderId = this.safeValue2(params, 'origClientOrderId', 'clientOrderId');
2205
+ const origClientOrderId = this.safeString2(params, 'origClientOrderId', 'clientOrderId');
2206
2206
  params = this.omit(params, ['origClientOrderId', 'clientOrderId']);
2207
2207
  let response = undefined;
2208
2208
  let data = {};
@@ -2451,7 +2451,7 @@ class bitrue extends bitrue$1["default"] {
2451
2451
  await this.loadMarkets();
2452
2452
  }
2453
2453
  const market = this.market(symbol);
2454
- const origClientOrderId = this.safeValue2(params, 'origClientOrderId', 'clientOrderId');
2454
+ const origClientOrderId = this.safeString2(params, 'origClientOrderId', 'clientOrderId');
2455
2455
  params = this.omit(params, ['origClientOrderId', 'clientOrderId']);
2456
2456
  let response = undefined;
2457
2457
  let data = {};
@@ -3435,7 +3435,7 @@ class bitrue extends bitrue$1["default"] {
3435
3435
  }
3436
3436
  }
3437
3437
  }
3438
- return this.safeValue(config, 'cost', 1);
3438
+ return this.safeNumber(config, 'cost', 1);
3439
3439
  }
3440
3440
  }
3441
3441
 
@@ -330,7 +330,7 @@ class bitso extends bitso$1["default"] {
330
330
  // }]
331
331
  // }
332
332
  //
333
- const payload = this.safeValue(response, 'payload', []);
333
+ const payload = this.safeList(response, 'payload', []);
334
334
  const currency = this.safeCurrency(code);
335
335
  return this.parseLedger(payload, currency, since, limit);
336
336
  }
@@ -400,15 +400,15 @@ class bitso extends bitso$1["default"] {
400
400
  // }
401
401
  const operation = this.safeString(item, 'operation');
402
402
  const type = this.parseLedgerEntryType(operation);
403
- const balanceUpdates = this.safeValue(item, 'balance_updates', []);
404
- const firstBalance = this.safeValue(balanceUpdates, 0, {});
403
+ const balanceUpdates = this.safeList(item, 'balance_updates', []);
404
+ const firstBalance = this.safeDict(balanceUpdates, 0, {});
405
405
  let direction = undefined;
406
406
  let fee = undefined;
407
407
  const amount = this.safeString(firstBalance, 'amount');
408
408
  const currencyId = this.safeString(firstBalance, 'currency');
409
409
  const code = this.safeCurrencyCode(currencyId, currency);
410
410
  currency = this.safeCurrency(currencyId, currency);
411
- const details = this.safeValue(item, 'details', {});
411
+ const details = this.safeDict(item, 'details', {});
412
412
  let referenceId = this.safeString2(details, 'fid', 'wid');
413
413
  if (referenceId === undefined) {
414
414
  referenceId = this.safeString(details, 'tid');
@@ -502,8 +502,8 @@ class bitso extends bitso$1["default"] {
502
502
  let quote = quoteId.toUpperCase();
503
503
  base = this.safeCurrencyCode(base);
504
504
  quote = this.safeCurrencyCode(quote);
505
- const fees = this.safeValue(market, 'fees', {});
506
- const flatRate = this.safeValue(fees, 'flat_rate', {});
505
+ const fees = this.safeDict(market, 'fees', {});
506
+ const flatRate = this.safeDict(fees, 'flat_rate', {});
507
507
  const takerString = this.safeString(flatRate, 'taker');
508
508
  const makerString = this.safeString(flatRate, 'maker');
509
509
  const taker = this.parseNumber(Precise["default"].stringDiv(takerString, '100'));
@@ -739,7 +739,7 @@ class bitso extends bitso$1["default"] {
739
739
  'book': market['id'],
740
740
  };
741
741
  const response = await this.publicGetOrderBook(this.extend(request, params));
742
- const orderbook = this.safeValue(response, 'payload');
742
+ const orderbook = this.safeDict(response, 'payload');
743
743
  const timestamp = this.parse8601(this.safeString(orderbook, 'updated_at'));
744
744
  return this.parseOrderBook(orderbook, market['symbol'], timestamp, 'bids', 'asks', 'price', 'amount');
745
745
  }
@@ -1091,7 +1091,7 @@ class bitso extends bitso$1["default"] {
1091
1091
  // }
1092
1092
  // }
1093
1093
  //
1094
- const payload = this.safeValue(response, 'payload', {});
1094
+ const payload = this.safeDict(response, 'payload', {});
1095
1095
  const fees = this.safeList(payload, 'fees', []);
1096
1096
  const result = {};
1097
1097
  for (let i = 0; i < fees.length; i++) {
@@ -1398,7 +1398,7 @@ class bitso extends bitso$1["default"] {
1398
1398
  const response = await this.privateGetOrdersOid({
1399
1399
  'oid': id,
1400
1400
  });
1401
- const payload = this.safeValue(response, 'payload');
1401
+ const payload = this.safeList(response, 'payload');
1402
1402
  if (Array.isArray(payload)) {
1403
1403
  const numOrders = payload.length;
1404
1404
  if (numOrders === 1) {
@@ -1472,7 +1472,7 @@ class bitso extends bitso$1["default"] {
1472
1472
  // }]
1473
1473
  // }
1474
1474
  //
1475
- const transactions = this.safeValue(response, 'payload', []);
1475
+ const transactions = this.safeList(response, 'payload', []);
1476
1476
  const first = this.safeDict(transactions, 0, {});
1477
1477
  return this.parseTransaction(first);
1478
1478
  }
@@ -1615,7 +1615,7 @@ class bitso extends bitso$1["default"] {
1615
1615
  // }
1616
1616
  //
1617
1617
  const result = {};
1618
- const payload = this.safeValue(response, 'payload', {});
1618
+ const payload = this.safeDict(response, 'payload', {});
1619
1619
  const depositFees = this.safeList(payload, 'deposit_fees', []);
1620
1620
  for (let i = 0; i < depositFees.length; i++) {
1621
1621
  const depositFee = depositFees[i];
@@ -1645,10 +1645,10 @@ class bitso extends bitso$1["default"] {
1645
1645
  }
1646
1646
  if (code !== undefined) {
1647
1647
  result[code] = {
1648
- 'deposit': this.safeValue(this.safeValue(result, code), 'deposit'),
1648
+ 'deposit': this.safeValue(this.safeDict(result, code), 'deposit'),
1649
1649
  'withdraw': this.safeNumber(withdrawalFees, currencyId),
1650
1650
  'info': {
1651
- 'deposit': this.safeValue(this.safeValue(this.safeValue(result, code), 'info'), 'deposit'),
1651
+ 'deposit': this.safeValue(this.safeDict(this.safeDict(result, code), 'info'), 'deposit'),
1652
1652
  'withdraw': this.safeNumber(withdrawalFees, currencyId),
1653
1653
  },
1654
1654
  };
@@ -1769,7 +1769,7 @@ class bitso extends bitso$1["default"] {
1769
1769
  result[code] = {
1770
1770
  'deposit': {
1771
1771
  'fee': this.safeNumber(entry, 'fee'),
1772
- 'percentage': (this.safeValue(entry, 'is_fixed') !== true),
1772
+ 'percentage': (this.safeBool(entry, 'is_fixed') !== true),
1773
1773
  },
1774
1774
  'withdraw': {
1775
1775
  'fee': undefined,
@@ -1787,7 +1787,7 @@ class bitso extends bitso$1["default"] {
1787
1787
  const code = this.safeCurrencyCode(currencyId);
1788
1788
  if ((code !== undefined) && ((codes === undefined) || (code in codes))) {
1789
1789
  const withdrawFee = this.parseNumber(withdrawalResponse[currencyId]);
1790
- const resultValue = this.safeValue(result, code);
1790
+ const resultValue = this.safeDict(result, code);
1791
1791
  if (resultValue === undefined) {
1792
1792
  result[code] = this.depositWithdrawFee({});
1793
1793
  }
@@ -1852,7 +1852,7 @@ class bitso extends bitso$1["default"] {
1852
1852
  // ]
1853
1853
  // }
1854
1854
  //
1855
- const payload = this.safeValue(response, 'payload', []);
1855
+ const payload = this.safeList(response, 'payload', []);
1856
1856
  const first = this.safeDict(payload, 0);
1857
1857
  return this.parseTransaction(first, currency);
1858
1858
  }
@@ -1895,7 +1895,7 @@ class bitso extends bitso$1["default"] {
1895
1895
  //
1896
1896
  const currencyId = this.safeString2(transaction, 'currency', 'asset');
1897
1897
  currency = this.safeCurrency(currencyId, currency);
1898
- const details = this.safeValue(transaction, 'details', {});
1898
+ const details = this.safeDict(transaction, 'details', {});
1899
1899
  const datetime = this.safeString(transaction, 'created_at');
1900
1900
  const withdrawalAddress = this.safeString(details, 'withdrawal_address');
1901
1901
  const receivingAddress = this.safeString(details, 'receiving_address');
@@ -1988,7 +1988,7 @@ class bitso extends bitso$1["default"] {
1988
1988
  }
1989
1989
  if (success !== true) {
1990
1990
  const feedback = this.id + ' ' + this.json(response);
1991
- const error = this.safeValue(response, 'error');
1991
+ const error = this.safeDict(response, 'error');
1992
1992
  if (error === undefined) {
1993
1993
  throw new errors.ExchangeError(feedback);
1994
1994
  }
@@ -791,7 +791,7 @@ class bitstamp extends bitstamp$1["default"] {
791
791
  async fetchMarketsFromCache(params = {}) {
792
792
  // this method is now redundant
793
793
  // currencies are now fetched before markets
794
- const options = this.safeValue(this.options, 'fetchMarkets', {});
794
+ const options = this.safeDict(this.options, 'fetchMarkets', {});
795
795
  const timestamp = this.safeInteger(options, 'timestamp');
796
796
  const expires = this.safeInteger(options, 'expires', 1000);
797
797
  const now = this.milliseconds();
@@ -1391,7 +1391,7 @@ class bitstamp extends bitstamp$1["default"] {
1391
1391
  // }
1392
1392
  // }
1393
1393
  //
1394
- const data = this.safeValue(response, 'data', {});
1394
+ const data = this.safeDict(response, 'data', {});
1395
1395
  const ohlc = this.safeList(data, 'ohlc', []);
1396
1396
  return this.parseOHLCVs(ohlc, market, timeframe, since, limit);
1397
1397
  }
@@ -1569,7 +1569,7 @@ class bitstamp extends bitstamp$1["default"] {
1569
1569
  const ids = Object.keys(currencies);
1570
1570
  for (let i = 0; i < ids.length; i++) {
1571
1571
  const id = ids[i];
1572
- const fees = this.safeValue(response, i, {});
1572
+ const fees = this.safeDict(response, i, {});
1573
1573
  const code = this.safeCurrencyCode(id);
1574
1574
  if ((codes !== undefined) && !this.inArray(code, codes)) {
1575
1575
  continue;
@@ -1970,7 +1970,7 @@ class bitstamp extends bitstamp$1["default"] {
1970
1970
  // ]
1971
1971
  // }
1972
1972
  //
1973
- const values = this.safeValue(response, 'funding_rate_history', []);
1973
+ const values = this.safeList(response, 'funding_rate_history', []);
1974
1974
  return this.parseFundingRateHistories(values, market, since, limit);
1975
1975
  }
1976
1976
  parseFundingRateHistory(contract, market = undefined) {
@@ -2307,7 +2307,7 @@ class bitstamp extends bitstamp$1["default"] {
2307
2307
  const symbol = this.safeSymbol(marketId, market, '/');
2308
2308
  const status = this.parseOrderStatus(this.safeString(order, 'status'));
2309
2309
  const amount = this.safeString(order, 'amount');
2310
- const transactions = this.safeValue(order, 'transactions', []);
2310
+ const transactions = this.safeList(order, 'transactions', []);
2311
2311
  const price = this.safeString(order, 'price');
2312
2312
  return this.safeOrder({
2313
2313
  'id': id,
@@ -452,8 +452,8 @@ class bitteam extends bitteam$1["default"] {
452
452
  // }
453
453
  // }
454
454
  //
455
- const result = this.safeValue(response, 'result', {});
456
- const markets = this.safeValue(result, 'pairs', []);
455
+ const result = this.safeDict(response, 'result', {});
456
+ const markets = this.safeList(result, 'pairs', []);
457
457
  return this.parseMarkets(markets);
458
458
  }
459
459
  parseMarket(market) {
@@ -464,14 +464,14 @@ class bitteam extends bitteam$1["default"] {
464
464
  const quoteId = this.safeString(parts, 1);
465
465
  const base = this.safeCurrencyCode(baseId);
466
466
  const quote = this.safeCurrencyCode(quoteId);
467
- const active = this.safeValue(market, 'active');
467
+ const active = this.safeBool(market, 'active');
468
468
  const timeStart = this.safeString(market, 'timeStart');
469
469
  const created = this.parse8601(timeStart);
470
470
  let minCost = undefined;
471
471
  const currenciesValuedInUsd = this.handleOption('fetchMarkets', 'currenciesValuedInUsd', {});
472
472
  const quoteInUsd = this.safeBool(currenciesValuedInUsd, quote, false);
473
473
  if (quoteInUsd === true) {
474
- const settings = this.safeValue(market, 'settings', {});
474
+ const settings = this.safeDict(market, 'settings', {});
475
475
  minCost = this.safeNumber(settings, 'limit_usd');
476
476
  }
477
477
  return this.safeMarketStructure({
@@ -625,8 +625,8 @@ class bitteam extends bitteam$1["default"] {
625
625
  // }
626
626
  // }
627
627
  //
628
- const responseResult = this.safeValue(response, 'result', {});
629
- const currencies = this.safeValue(responseResult, 'currencies', []);
628
+ const responseResult = this.safeDict(response, 'result', {});
629
+ const currencies = this.safeList(responseResult, 'currencies', []);
630
630
  // using another endpoint to fetch statuses of deposits and withdrawals
631
631
  let statusesResponse = await this.publicGetTradeApiCmcAssets();
632
632
  //
@@ -656,18 +656,18 @@ class bitteam extends bitteam$1["default"] {
656
656
  return result;
657
657
  }
658
658
  parseCurrency(currency) {
659
- const statusesResponse = this.safeValue(this.options, '_temp_currencies_statuses', {});
659
+ const statusesResponse = this.safeDict(this.options, '_temp_currencies_statuses', {});
660
660
  const id = this.safeString(currency, 'symbol');
661
661
  const numericId = this.safeInteger(currency, 'id');
662
662
  const code = this.safeCurrencyCode(id);
663
663
  const active = this.safeBool(currency, 'active', false);
664
664
  const precision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'precision')));
665
- const txLimits = this.safeValue(currency, 'txLimits', {});
665
+ const txLimits = this.safeDict(currency, 'txLimits', {});
666
666
  const minWithdraw = this.safeString(txLimits, 'minWithdraw');
667
667
  const maxWithdraw = this.safeString(txLimits, 'maxWithdraw');
668
668
  const minDeposit = this.safeString(txLimits, 'minDeposit');
669
669
  let fee = undefined;
670
- const withdrawCommissionFixed = this.safeValue(txLimits, 'withdrawCommissionFixed', {});
670
+ const withdrawCommissionFixed = this.safeDict(txLimits, 'withdrawCommissionFixed', {});
671
671
  let feesByNetworkId = {};
672
672
  const blockChain = this.safeString(currency, 'blockChain');
673
673
  // if only one blockChain
@@ -678,9 +678,9 @@ class bitteam extends bitteam$1["default"] {
678
678
  else {
679
679
  feesByNetworkId = withdrawCommissionFixed;
680
680
  }
681
- const statuses = this.safeValue(statusesResponse, numericId, {});
682
- const deposit = this.safeValue(statuses, 'depositStatus');
683
- const withdraw = this.safeValue(statuses, 'withdrawStatus');
681
+ const statuses = this.safeDict(statusesResponse, numericId, {});
682
+ const deposit = this.safeBool(statuses, 'depositStatus');
683
+ const withdraw = this.safeBool(statuses, 'withdrawStatus');
684
684
  const networkIds = Object.keys(feesByNetworkId);
685
685
  const networks = {};
686
686
  const networkPrecision = this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals')));
@@ -794,7 +794,7 @@ class bitteam extends bitteam$1["default"] {
794
794
  // }
795
795
  // }
796
796
  //
797
- const result = this.safeValue(response, 'result', {});
797
+ const result = this.safeDict(response, 'result', {});
798
798
  const data = this.safeList(result, 'data', []);
799
799
  return this.parseOHLCVs(data, market, timeframe, since, limit);
800
800
  }
@@ -979,7 +979,7 @@ class bitteam extends bitteam$1["default"] {
979
979
  // }
980
980
  // }
981
981
  //
982
- const result = this.safeValue(response, 'result', {});
982
+ const result = this.safeDict(response, 'result', {});
983
983
  const orders = this.safeList(result, 'orders', []);
984
984
  return this.parseOrders(orders, market, since, limit);
985
985
  }
@@ -1224,7 +1224,7 @@ class bitteam extends bitteam$1["default"] {
1224
1224
  // }
1225
1225
  // }
1226
1226
  //
1227
- const result = this.safeValue(response, 'result', {});
1227
+ const result = this.safeDict(response, 'result', {});
1228
1228
  const orders = [result];
1229
1229
  return this.parseOrders(orders, market);
1230
1230
  }
@@ -1331,7 +1331,7 @@ class bitteam extends bitteam$1["default"] {
1331
1331
  const status = this.parseOrderStatus(this.safeString(order, 'status'));
1332
1332
  const type = this.parseOrderType(this.safeString(order, 'type'));
1333
1333
  const side = this.safeString(order, 'side');
1334
- const feeRaw = this.safeValue(order, 'fee');
1334
+ const feeRaw = this.safeDict(order, 'fee');
1335
1335
  const price = this.safeString(order, 'price');
1336
1336
  const amount = this.safeString(order, 'quantity');
1337
1337
  const filled = this.safeString(order, 'executed');
@@ -1657,7 +1657,7 @@ class bitteam extends bitteam$1["default"] {
1657
1657
  // }
1658
1658
  // }
1659
1659
  //
1660
- const result = this.safeValue(response, 'result', {});
1660
+ const result = this.safeDict(response, 'result', {});
1661
1661
  const pair = this.safeDict(result, 'pair', {});
1662
1662
  return this.parseTicker(pair, market);
1663
1663
  }
@@ -1747,13 +1747,13 @@ class bitteam extends bitteam$1["default"] {
1747
1747
  let bestAskPrice = undefined;
1748
1748
  let bestBidVolume = undefined;
1749
1749
  let bestAskVolume = undefined;
1750
- const bids = this.safeValue(ticker, 'bids');
1751
- const asks = this.safeValue(ticker, 'asks');
1750
+ const bids = this.safeList(ticker, 'bids');
1751
+ const asks = this.safeList(ticker, 'asks');
1752
1752
  if ((bids !== undefined) && (Array.isArray(bids)) && (asks !== undefined) && (Array.isArray(asks))) {
1753
- const bestBid = this.safeValue(bids, 0, {});
1753
+ const bestBid = this.safeDict(bids, 0, {});
1754
1754
  bestBidPrice = this.safeString(bestBid, 'price');
1755
1755
  bestBidVolume = this.safeString(bestBid, 'quantity');
1756
- const bestAsk = this.safeValue(asks, 0, {});
1756
+ const bestAsk = this.safeDict(asks, 0, {});
1757
1757
  bestAskPrice = this.safeString(bestAsk, 'price');
1758
1758
  bestAskVolume = this.safeString(bestAsk, 'quantity');
1759
1759
  }
@@ -1990,7 +1990,7 @@ class bitteam extends bitteam$1["default"] {
1990
1990
  // }
1991
1991
  // }
1992
1992
  //
1993
- const result = this.safeValue(response, 'result', {});
1993
+ const result = this.safeDict(response, 'result', {});
1994
1994
  const trades = this.safeList(result, 'trades', []);
1995
1995
  return this.parseTrades(trades, market, since, limit);
1996
1996
  }
@@ -2073,11 +2073,11 @@ class bitteam extends bitteam$1["default"] {
2073
2073
  side = 'sell';
2074
2074
  }
2075
2075
  order = this.safeString(trade, 'makerOrderId');
2076
- feeInfo = this.safeValue(trade, 'feeMaker', {});
2076
+ feeInfo = this.safeDict(trade, 'feeMaker', {});
2077
2077
  }
2078
2078
  else if (takerOrMaker === 'taker') {
2079
2079
  order = this.safeString(trade, 'takerOrderId');
2080
- feeInfo = this.safeValue(trade, 'feeTaker', {});
2080
+ feeInfo = this.safeDict(trade, 'feeTaker', {});
2081
2081
  }
2082
2082
  const feeCurrencyId = this.safeString(feeInfo, 'symbol');
2083
2083
  const feeCost = this.safeString(feeInfo, 'amount');
@@ -2164,12 +2164,12 @@ class bitteam extends bitteam$1["default"] {
2164
2164
  'timestamp': undefined,
2165
2165
  'datetime': undefined,
2166
2166
  };
2167
- const result = this.safeValue(response, 'result', {});
2167
+ const result = this.safeDict(response, 'result', {});
2168
2168
  const balanceByCurrencies = this.omit(result, ['free', 'used', 'total']);
2169
2169
  const rawCurrencyIds = Object.keys(balanceByCurrencies);
2170
2170
  for (let i = 0; i < rawCurrencyIds.length; i++) {
2171
2171
  const rawCurrencyId = rawCurrencyIds[i];
2172
- const currencyBalance = this.safeValue(result, rawCurrencyId);
2172
+ const currencyBalance = this.safeDict(result, rawCurrencyId);
2173
2173
  const free = this.safeString(currencyBalance, 'free');
2174
2174
  const used = this.safeString(currencyBalance, 'used');
2175
2175
  const total = this.safeString(currencyBalance, 'total');
@@ -2297,7 +2297,7 @@ class bitteam extends bitteam$1["default"] {
2297
2297
  // }
2298
2298
  // }
2299
2299
  //
2300
- const result = this.safeValue(response, 'result', {});
2300
+ const result = this.safeDict(response, 'result', {});
2301
2301
  const transactions = this.safeList(result, 'transactions', []);
2302
2302
  return this.parseTransactions(transactions, currency, since, limit);
2303
2303
  }
@@ -2349,17 +2349,17 @@ class bitteam extends bitteam$1["default"] {
2349
2349
  // }
2350
2350
  // }
2351
2351
  //
2352
- const currencyObject = this.safeValue(transaction, 'currency');
2352
+ const currencyObject = this.safeDict(transaction, 'currency');
2353
2353
  const currencyId = this.safeString(currencyObject, 'symbol');
2354
2354
  const code = this.safeCurrencyCode(currencyId, currency);
2355
2355
  const id = this.safeString(transaction, 'id');
2356
- const params = this.safeValue(transaction, 'params');
2356
+ const params = this.safeDict(transaction, 'params');
2357
2357
  const txid = this.safeString(params, 'tx_id');
2358
2358
  const timestamp = this.safeInteger(transaction, 'timestamp');
2359
2359
  let networkId = this.safeString(transaction, 'blockChain');
2360
2360
  if (networkId === undefined) {
2361
- const links = this.safeValue(currencyObject, 'links', []);
2362
- const blockChain = this.safeValue(links, 0, {});
2361
+ const links = this.safeList(currencyObject, 'links', []);
2362
+ const blockChain = this.safeDict(links, 0, {});
2363
2363
  networkId = this.safeString(blockChain, 'blockChain');
2364
2364
  }
2365
2365
  const addressFrom = this.safeString(transaction, 'sender');
@@ -2367,7 +2367,7 @@ class bitteam extends bitteam$1["default"] {
2367
2367
  const tag = this.safeString(transaction, 'message');
2368
2368
  const type = this.parseTransactionType(this.safeString(transaction, 'type'));
2369
2369
  const amount = this.parseValueToPricision(transaction, 'amount', currencyObject, 'decimals');
2370
- const status = this.parseTransactionStatus(this.safeValue(transaction, 'status'));
2370
+ const status = this.parseTransactionStatus(this.safeString(transaction, 'status'));
2371
2371
  return {
2372
2372
  'info': transaction,
2373
2373
  'id': id,
@@ -476,7 +476,7 @@ class bittrade extends bittrade$1["default"] {
476
476
  // "market-sell-order-rate-must-less-than": 0.1,
477
477
  // "market-buy-order-rate-must-less-than": 0.1 } }
478
478
  //
479
- return this.parseTradingLimits(this.safeValue(response, 'data', {}));
479
+ return this.parseTradingLimits(this.safeDict(response, 'data', {}));
480
480
  }
481
481
  parseTradingLimits(limits, symbol = undefined, params = {}) {
482
482
  //
@@ -765,7 +765,7 @@ class bittrade extends bittrade$1["default"] {
765
765
  if ((response['tick'] === undefined) || (response['tick'] === null)) {
766
766
  throw new errors.BadSymbol(this.id + ' fetchOrderBook() returned empty response: ' + this.json(response));
767
767
  }
768
- const tick = this.safeValue(response, 'tick');
768
+ const tick = this.safeDict(response, 'tick');
769
769
  const timestamp = this.safeInteger(tick, 'ts', this.safeInteger(response, 'ts'));
770
770
  const result = this.parseOrderBook(tick, symbol, timestamp);
771
771
  result['nonce'] = this.safeInteger(tick, 'version');
@@ -1165,15 +1165,15 @@ class bittrade extends bittrade$1["default"] {
1165
1165
  // ]
1166
1166
  // }
1167
1167
  //
1168
- const currencies = this.safeValue(response, 'data', []);
1168
+ const currencies = this.safeList(response, 'data', []);
1169
1169
  return this.parseCurrencies(currencies);
1170
1170
  }
1171
1171
  parseCurrency(currency) {
1172
- const id = this.safeValue(currency, 'name');
1172
+ const id = this.safeString(currency, 'name');
1173
1173
  const code = this.safeCurrencyCode(id);
1174
- const depositEnabled = this.safeValue(currency, 'deposit-enabled');
1175
- const withdrawEnabled = this.safeValue(currency, 'withdraw-enabled');
1176
- const countryDisabled = this.safeValue(currency, 'country-disabled');
1174
+ const depositEnabled = this.safeBool(currency, 'deposit-enabled');
1175
+ const withdrawEnabled = this.safeBool(currency, 'withdraw-enabled');
1176
+ const countryDisabled = this.safeBool(currency, 'country-disabled');
1177
1177
  const visible = this.safeBool(currency, 'visible', false);
1178
1178
  const state = this.safeString(currency, 'state');
1179
1179
  const active = (visible === true) && (depositEnabled === true) && (withdrawEnabled === true) && (state === 'online') && (countryDisabled !== true);
@@ -1567,7 +1567,7 @@ class bittrade extends bittrade$1["default"] {
1567
1567
  };
1568
1568
  const clientOrderId = this.safeString2(params, 'clientOrderId', 'client-order-id'); // must be 64 chars max and unique within 24 hours
1569
1569
  if (clientOrderId === undefined) {
1570
- const broker = this.safeValue(this.options, 'broker', {});
1570
+ const broker = this.safeDict(this.options, 'broker', {});
1571
1571
  const brokerId = this.safeString(broker, 'id');
1572
1572
  request['client-order-id'] = brokerId + this.uuid();
1573
1573
  }
@@ -1835,7 +1835,7 @@ class bittrade extends bittrade$1["default"] {
1835
1835
  currency = this.safeCurrency(currencyId, currency);
1836
1836
  const code = this.safeCurrencyCode(currencyId, currency);
1837
1837
  const networkId = this.safeString(depositAddress, 'chain');
1838
- const networks = this.safeValue(currency, 'networks', {});
1838
+ const networks = this.safeDict(currency, 'networks', {});
1839
1839
  const networksById = this.indexBy(networks, 'id');
1840
1840
  const networkValue = this.safeValue(networksById, networkId, networkId);
1841
1841
  const network = this.safeString(networkValue, 'network');
@@ -2049,7 +2049,7 @@ class bittrade extends bittrade$1["default"] {
2049
2049
  if (tag !== undefined) {
2050
2050
  request['addr-tag'] = tag; // only for XRP?
2051
2051
  }
2052
- const networks = this.safeValue(this.options, 'networks', {});
2052
+ const networks = this.safeDict(this.options, 'networks', {});
2053
2053
  let network = this.safeStringUpper(params, 'network'); // this line allows the user to specify either ERC20 or ETH
2054
2054
  network = this.safeStringLower(networks, network, network); // handle ETH>ERC20 alias
2055
2055
  if (network !== undefined) {
@@ -912,7 +912,7 @@ class bitvavo extends bitvavo$1["default"] {
912
912
  const id = this.safeString2(trade, 'id', 'fillId');
913
913
  const marketId = this.safeString(trade, 'market');
914
914
  const symbol = this.safeSymbol(marketId, market, '-');
915
- const taker = this.safeValue(trade, 'taker');
915
+ const taker = this.safeBool(trade, 'taker');
916
916
  let takerOrMaker = undefined;
917
917
  if (taker !== undefined) {
918
918
  takerOrMaker = (taker === true) ? 'taker' : 'maker';
@@ -978,7 +978,7 @@ class bitvavo extends bitvavo$1["default"] {
978
978
  // }
979
979
  // }
980
980
  //
981
- const feesValue = this.safeValue(fees, 'fees');
981
+ const feesValue = this.safeDict(fees, 'fees');
982
982
  const maker = this.safeNumber(feesValue, 'maker');
983
983
  const taker = this.safeNumber(feesValue, 'taker');
984
984
  const result = {};
@@ -1118,7 +1118,7 @@ class bitvavo extends bitvavo$1["default"] {
1118
1118
  }
1119
1119
  [request, params] = this.handleUntilOption('end', request, params);
1120
1120
  if (limit !== undefined) {
1121
- request['limit'] = limit; // default 1440, max 1440
1121
+ request['limit'] = Math.min(limit, 1440); // default 1440, max 1440
1122
1122
  }
1123
1123
  return this.extend(request, params);
1124
1124
  }
@@ -1488,8 +1488,8 @@ class bitvavo extends bitvavo$1["default"] {
1488
1488
  const timeInForce = this.safeString(params, 'timeInForce');
1489
1489
  let triggerPrice = this.safeStringN(params, ['triggerPrice', 'stopPrice', 'triggerAmount']);
1490
1490
  const postOnly = this.isPostOnly(isMarketOrder, false, params);
1491
- const stopLossPrice = this.safeValue(params, 'stopLossPrice'); // trigger when price crosses from above to below this value
1492
- const takeProfitPrice = this.safeValue(params, 'takeProfitPrice'); // trigger when price crosses from below to above this value
1491
+ const stopLossPrice = this.safeString(params, 'stopLossPrice'); // trigger when price crosses from above to below this value
1492
+ const takeProfitPrice = this.safeString(params, 'takeProfitPrice'); // trigger when price crosses from below to above this value
1493
1493
  params = this.omit(params, ['timeInForce', 'triggerPrice', 'stopPrice', 'stopLossPrice', 'takeProfitPrice']);
1494
1494
  if (isMarketOrder) {
1495
1495
  let cost = undefined;
@@ -2112,7 +2112,7 @@ class bitvavo extends bitvavo$1["default"] {
2112
2112
  'currency': feeCurrencyCode,
2113
2113
  };
2114
2114
  }
2115
- const rawTrades = this.safeValue(order, 'fills', []);
2115
+ const rawTrades = this.safeList(order, 'fills', []);
2116
2116
  const timeInForce = this.safeString(order, 'timeInForce');
2117
2117
  const postOnly = this.safeValue(order, 'postOnly');
2118
2118
  // https://github.com/ccxt/ccxt/issues/8489
@@ -2597,8 +2597,8 @@ class bitvavo extends bitvavo$1["default"] {
2597
2597
  },
2598
2598
  'networks': {},
2599
2599
  };
2600
- const networks = this.safeValue(fee, 'networks');
2601
- let networkId = this.safeValue(networks, 0); // Bitvavo currently only supports one network per currency
2600
+ const networks = this.safeList(fee, 'networks');
2601
+ let networkId = this.safeString(networks, 0); // Bitvavo currently only supports one network per currency
2602
2602
  const currencyCode = this.safeString(currency, 'code');
2603
2603
  if (networkId === 'Mainnet') {
2604
2604
  networkId = currencyCode;
@@ -2705,7 +2705,7 @@ class bitvavo extends bitvavo$1["default"] {
2705
2705
  if (('noMarket' in config) && !('market' in params)) {
2706
2706
  return config['noMarket'];
2707
2707
  }
2708
- return this.safeValue(config, 'cost', 1);
2708
+ return this.safeNumber(config, 'cost', 1);
2709
2709
  }
2710
2710
  }
2711
2711
 
@@ -331,7 +331,7 @@ class blockchaincom extends blockchaincom$1["default"] {
331
331
  const result = [];
332
332
  for (let i = 0; i < marketIds.length; i++) {
333
333
  const marketId = marketIds[i];
334
- const market = this.safeValue(markets, marketId);
334
+ const market = this.safeDict(markets, marketId);
335
335
  const baseId = this.safeString(market, 'base_currency');
336
336
  const quoteId = this.safeString(market, 'counter_currency');
337
337
  const base = this.safeCurrencyCode(baseId);
@@ -1190,7 +1190,7 @@ class blockchaincom extends blockchaincom$1["default"] {
1190
1190
  // ]
1191
1191
  // }
1192
1192
  //
1193
- const balances = this.safeValue(response, accountName);
1193
+ const balances = this.safeList(response, accountName);
1194
1194
  if (balances === undefined) {
1195
1195
  throw new errors.ExchangeError(this.id + ' fetchBalance() could not find the "' + accountName + '" account');
1196
1196
  }
@@ -835,11 +835,11 @@ class btcbox extends btcbox$1["default"] {
835
835
  if (httpCode >= 400) {
836
836
  return undefined; // resort to defaultErrorHandler
837
837
  }
838
- const result = this.safeValue(response, 'result');
838
+ const result = this.safeBool(response, 'result');
839
839
  if (result === undefined || result === true) {
840
840
  return undefined; // either public API (no error codes expected) or success
841
841
  }
842
- const code = this.safeValue(response, 'code');
842
+ const code = this.safeString(response, 'code');
843
843
  const feedback = this.id + ' ' + body;
844
844
  this.throwExactlyMatchedException(this.exceptions, code, feedback);
845
845
  throw new errors.ExchangeError(feedback); // unknown message
@@ -520,7 +520,7 @@ class btcmarkets extends btcmarkets$1["default"] {
520
520
  const base = this.safeCurrencyCode(baseId);
521
521
  const quote = this.safeCurrencyCode(quoteId);
522
522
  const symbol = base + '/' + quote;
523
- const fees = this.safeValue(this.safeDict(this.options, 'fees', {}), quote, this.fees);
523
+ const fees = this.safeDict(this.safeDict(this.options, 'fees', {}), quote, this.fees);
524
524
  const pricePrecision = this.parseNumber(this.parsePrecision(this.safeString(market, 'priceDecimals')));
525
525
  const minAmount = this.safeNumber(market, 'minOrderAmount');
526
526
  const maxAmount = this.safeNumber(market, 'maxOrderAmount');
@@ -956,7 +956,7 @@ class btcmarkets extends btcmarkets$1["default"] {
956
956
  // 'clientOrderId': this.uuid (),
957
957
  };
958
958
  const lowercaseType = type.toLowerCase();
959
- const orderTypes = this.safeValue(this.options, 'orderTypes', {
959
+ const orderTypes = this.safeDict(this.options, 'orderTypes', {
960
960
  'limit': 'Limit',
961
961
  'market': 'Market',
962
962
  'stop': 'Stop',