ccxt 4.2.18 → 4.2.19

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 (426) hide show
  1. package/README.md +8 -8
  2. package/dist/ccxt.browser.js +34202 -33193
  3. package/dist/ccxt.browser.min.js +2 -2
  4. package/dist/cjs/ccxt.js +12 -1
  5. package/dist/cjs/src/alpaca.js +18 -18
  6. package/dist/cjs/src/ascendex.js +13 -6
  7. package/dist/cjs/src/base/Exchange.js +266 -27
  8. package/dist/cjs/src/bigone.js +434 -168
  9. package/dist/cjs/src/binance.js +163 -34
  10. package/dist/cjs/src/binanceus.js +8 -0
  11. package/dist/cjs/src/bingx.js +183 -41
  12. package/dist/cjs/src/bitfinex.js +2 -3
  13. package/dist/cjs/src/bitget.js +59 -16
  14. package/dist/cjs/src/bitmart.js +5 -5
  15. package/dist/cjs/src/bitmex.js +4 -6
  16. package/dist/cjs/src/bitpanda.js +5 -1991
  17. package/dist/cjs/src/bitstamp.js +8 -0
  18. package/dist/cjs/src/bybit.js +27 -47
  19. package/dist/cjs/src/coinbase.js +176 -26
  20. package/dist/cjs/src/coincheck.js +1 -0
  21. package/dist/cjs/src/coinex.js +3 -0
  22. package/dist/cjs/src/coinlist.js +13 -6
  23. package/dist/cjs/src/coinone.js +2 -2
  24. package/dist/cjs/src/coinsph.js +4 -5
  25. package/dist/cjs/src/delta.js +7 -1
  26. package/dist/cjs/src/deribit.js +17 -4
  27. package/dist/cjs/src/gate.js +151 -169
  28. package/dist/cjs/src/gemini.js +1 -1
  29. package/dist/cjs/src/hitbtc.js +2 -3
  30. package/dist/cjs/src/htx.js +157 -7
  31. package/dist/cjs/src/huobijp.js +2 -3
  32. package/dist/cjs/src/independentreserve.js +7 -5
  33. package/dist/cjs/src/kraken.js +86 -54
  34. package/dist/cjs/src/kucoin.js +5 -0
  35. package/dist/cjs/src/kucoinfutures.js +131 -77
  36. package/dist/cjs/src/lbank.js +60 -33
  37. package/dist/cjs/src/luno.js +84 -2
  38. package/dist/cjs/src/mexc.js +3 -3
  39. package/dist/cjs/src/oceanex.js +1 -1
  40. package/dist/cjs/src/okx.js +23 -11
  41. package/dist/cjs/{js/src/bitpanda.js → src/onetrading.js} +39 -39
  42. package/dist/cjs/src/phemex.js +37 -27
  43. package/dist/cjs/src/poloniexfutures.js +1 -0
  44. package/dist/cjs/src/pro/binance.js +66 -25
  45. package/dist/cjs/src/pro/bitget.js +1 -1
  46. package/dist/cjs/src/pro/bitpanda.js +5 -1330
  47. package/dist/cjs/src/pro/coinbase.js +4 -1
  48. package/dist/cjs/src/pro/hitbtc.js +5 -4
  49. package/dist/cjs/src/pro/htx.js +6 -1
  50. package/dist/cjs/src/pro/kraken.js +1 -1
  51. package/dist/cjs/src/pro/krakenfutures.js +7 -1
  52. package/dist/cjs/src/pro/kucoin.js +46 -36
  53. package/dist/cjs/src/pro/kucoinfutures.js +45 -37
  54. package/dist/cjs/src/pro/lbank.js +881 -0
  55. package/dist/cjs/src/pro/okx.js +52 -2
  56. package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
  57. package/dist/cjs/src/pro/poloniex.js +2 -2
  58. package/dist/cjs/src/pro/poloniexfutures.js +43 -35
  59. package/dist/cjs/src/pro/woo.js +126 -0
  60. package/dist/cjs/src/probit.js +4 -2
  61. package/dist/cjs/src/upbit.js +12 -12
  62. package/dist/cjs/src/wavesexchange.js +1 -1
  63. package/dist/cjs/src/whitebit.js +1 -0
  64. package/dist/cjs/src/woo.js +56 -0
  65. package/js/ccxt.d.ts +11 -2
  66. package/js/ccxt.js +8 -2
  67. package/js/src/abstract/bitpanda.d.ts +4 -4
  68. package/js/src/abstract/bitstamp.d.ts +8 -0
  69. package/js/src/abstract/gate.d.ts +1 -0
  70. package/js/src/abstract/gateio.d.ts +1 -0
  71. package/js/src/abstract/htx.d.ts +3 -0
  72. package/js/src/abstract/huobi.d.ts +3 -0
  73. package/js/src/abstract/luno.d.ts +1 -0
  74. package/js/src/abstract/onetrading.d.ts +38 -0
  75. package/js/src/ascendex.js +2 -0
  76. package/js/src/bingx.js +1 -1
  77. package/js/src/bitget.js +22 -3
  78. package/js/src/bitpanda.d.ts +2 -72
  79. package/js/src/bitpanda.js +5 -1991
  80. package/js/src/bitstamp.js +8 -0
  81. package/js/src/deribit.js +11 -3
  82. package/js/src/gate.d.ts +1 -0
  83. package/js/src/gate.js +50 -110
  84. package/js/src/htx.js +3 -0
  85. package/js/src/kraken.d.ts +1 -0
  86. package/js/src/kraken.js +39 -38
  87. package/js/src/lbank.js +1 -0
  88. package/js/src/luno.d.ts +3 -1
  89. package/js/src/luno.js +84 -2
  90. package/js/src/mexc.js +1 -2
  91. package/js/src/onetrading.d.ts +74 -0
  92. package/js/src/onetrading.js +2003 -0
  93. package/js/src/poloniexfutures.js +1 -0
  94. package/js/src/pro/binance.js +6 -1
  95. package/js/src/pro/bitpanda.d.ts +2 -34
  96. package/js/src/pro/bitpanda.js +5 -1330
  97. package/js/src/pro/lbank.d.ts +29 -0
  98. package/js/src/pro/lbank.js +882 -0
  99. package/js/src/pro/onetrading.d.ts +36 -0
  100. package/js/src/pro/onetrading.js +1339 -0
  101. package/package.json +2 -2
  102. package/rollup.config.js +2 -0
  103. package/skip-tests.json +2 -1
  104. package/test-commonjs.cjs +25 -1
  105. package/dist/cjs/js/ccxt.js +0 -478
  106. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  107. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  108. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  109. package/dist/cjs/js/src/abstract/binance.js +0 -9
  110. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  111. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  112. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  113. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  114. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  115. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  116. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  117. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  118. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  119. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  120. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  121. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  122. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  123. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  124. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  125. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  126. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  127. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  128. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  129. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  130. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  131. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  132. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  133. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  134. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  135. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  136. package/dist/cjs/js/src/abstract/cex.js +0 -9
  137. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  138. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  139. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  140. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  141. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  142. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  143. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  144. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  145. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  146. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  147. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  148. package/dist/cjs/js/src/abstract/delta.js +0 -9
  149. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  150. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  151. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  152. package/dist/cjs/js/src/abstract/gate.js +0 -9
  153. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  154. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  155. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  156. package/dist/cjs/js/src/abstract/htx.js +0 -9
  157. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  158. package/dist/cjs/js/src/abstract/idex.js +0 -9
  159. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  160. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  161. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  162. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  163. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  164. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  165. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  166. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  167. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  168. package/dist/cjs/js/src/abstract/luno.js +0 -9
  169. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  170. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  171. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  172. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  173. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  174. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  175. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  176. package/dist/cjs/js/src/abstract/okx.js +0 -9
  177. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  178. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  179. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  180. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  181. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  182. package/dist/cjs/js/src/abstract/probit.js +0 -9
  183. package/dist/cjs/js/src/abstract/timex.js +0 -9
  184. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  185. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  186. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  187. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  188. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  189. package/dist/cjs/js/src/abstract/woo.js +0 -9
  190. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  191. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  192. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  193. package/dist/cjs/js/src/ace.js +0 -1058
  194. package/dist/cjs/js/src/alpaca.js +0 -1125
  195. package/dist/cjs/js/src/ascendex.js +0 -3365
  196. package/dist/cjs/js/src/base/Exchange.js +0 -5260
  197. package/dist/cjs/js/src/base/Precise.js +0 -263
  198. package/dist/cjs/js/src/base/errors.js +0 -299
  199. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  200. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  201. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  202. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  203. package/dist/cjs/js/src/base/functions/number.js +0 -297
  204. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  205. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  206. package/dist/cjs/js/src/base/functions/string.js +0 -48
  207. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  208. package/dist/cjs/js/src/base/functions/time.js +0 -187
  209. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  210. package/dist/cjs/js/src/base/functions/type.js +0 -162
  211. package/dist/cjs/js/src/base/functions.js +0 -157
  212. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  213. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  214. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  215. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  216. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  217. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  218. package/dist/cjs/js/src/bequant.js +0 -33
  219. package/dist/cjs/js/src/bigone.js +0 -2213
  220. package/dist/cjs/js/src/binance.js +0 -9851
  221. package/dist/cjs/js/src/binancecoinm.js +0 -45
  222. package/dist/cjs/js/src/binanceus.js +0 -92
  223. package/dist/cjs/js/src/binanceusdm.js +0 -58
  224. package/dist/cjs/js/src/bingx.js +0 -3872
  225. package/dist/cjs/js/src/bit2c.js +0 -916
  226. package/dist/cjs/js/src/bitbank.js +0 -1000
  227. package/dist/cjs/js/src/bitbay.js +0 -17
  228. package/dist/cjs/js/src/bitbns.js +0 -1220
  229. package/dist/cjs/js/src/bitcoincom.js +0 -17
  230. package/dist/cjs/js/src/bitfinex.js +0 -1670
  231. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  232. package/dist/cjs/js/src/bitflyer.js +0 -1045
  233. package/dist/cjs/js/src/bitforex.js +0 -852
  234. package/dist/cjs/js/src/bitget.js +0 -8295
  235. package/dist/cjs/js/src/bithumb.js +0 -1090
  236. package/dist/cjs/js/src/bitmart.js +0 -4454
  237. package/dist/cjs/js/src/bitmex.js +0 -2881
  238. package/dist/cjs/js/src/bitopro.js +0 -1724
  239. package/dist/cjs/js/src/bitrue.js +0 -3253
  240. package/dist/cjs/js/src/bitso.js +0 -1753
  241. package/dist/cjs/js/src/bitstamp.js +0 -2188
  242. package/dist/cjs/js/src/bitteam.js +0 -2309
  243. package/dist/cjs/js/src/bitvavo.js +0 -1968
  244. package/dist/cjs/js/src/bl3p.js +0 -447
  245. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  246. package/dist/cjs/js/src/btcalpha.js +0 -929
  247. package/dist/cjs/js/src/btcbox.js +0 -565
  248. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  249. package/dist/cjs/js/src/btcturk.js +0 -929
  250. package/dist/cjs/js/src/bybit.js +0 -7624
  251. package/dist/cjs/js/src/cex.js +0 -1693
  252. package/dist/cjs/js/src/coinbase.js +0 -3424
  253. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  254. package/dist/cjs/js/src/coincheck.js +0 -844
  255. package/dist/cjs/js/src/coinex.js +0 -5417
  256. package/dist/cjs/js/src/coinlist.js +0 -2337
  257. package/dist/cjs/js/src/coinmate.js +0 -989
  258. package/dist/cjs/js/src/coinone.js +0 -1185
  259. package/dist/cjs/js/src/coinsph.js +0 -1933
  260. package/dist/cjs/js/src/coinspot.js +0 -548
  261. package/dist/cjs/js/src/cryptocom.js +0 -3007
  262. package/dist/cjs/js/src/currencycom.js +0 -2015
  263. package/dist/cjs/js/src/delta.js +0 -3262
  264. package/dist/cjs/js/src/deribit.js +0 -3310
  265. package/dist/cjs/js/src/digifinex.js +0 -4307
  266. package/dist/cjs/js/src/exmo.js +0 -2645
  267. package/dist/cjs/js/src/fmfwio.js +0 -34
  268. package/dist/cjs/js/src/gate.js +0 -7077
  269. package/dist/cjs/js/src/gateio.js +0 -16
  270. package/dist/cjs/js/src/gemini.js +0 -1801
  271. package/dist/cjs/js/src/hitbtc.js +0 -3660
  272. package/dist/cjs/js/src/hitbtc3.js +0 -19
  273. package/dist/cjs/js/src/hollaex.js +0 -1882
  274. package/dist/cjs/js/src/htx.js +0 -9174
  275. package/dist/cjs/js/src/huobi.js +0 -16
  276. package/dist/cjs/js/src/huobijp.js +0 -1918
  277. package/dist/cjs/js/src/idex.js +0 -1770
  278. package/dist/cjs/js/src/independentreserve.js +0 -761
  279. package/dist/cjs/js/src/indodax.js +0 -1069
  280. package/dist/cjs/js/src/kraken.js +0 -2891
  281. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  282. package/dist/cjs/js/src/kucoin.js +0 -4494
  283. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  284. package/dist/cjs/js/src/kuna.js +0 -1949
  285. package/dist/cjs/js/src/latoken.js +0 -1729
  286. package/dist/cjs/js/src/lbank.js +0 -2851
  287. package/dist/cjs/js/src/luno.js +0 -1044
  288. package/dist/cjs/js/src/lykke.js +0 -1303
  289. package/dist/cjs/js/src/mercado.js +0 -897
  290. package/dist/cjs/js/src/mexc.js +0 -5407
  291. package/dist/cjs/js/src/ndax.js +0 -2450
  292. package/dist/cjs/js/src/novadax.js +0 -1556
  293. package/dist/cjs/js/src/oceanex.js +0 -964
  294. package/dist/cjs/js/src/okcoin.js +0 -3115
  295. package/dist/cjs/js/src/okx.js +0 -7331
  296. package/dist/cjs/js/src/p2b.js +0 -1243
  297. package/dist/cjs/js/src/paymium.js +0 -597
  298. package/dist/cjs/js/src/phemex.js +0 -4725
  299. package/dist/cjs/js/src/poloniex.js +0 -2356
  300. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  301. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  302. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  303. package/dist/cjs/js/src/pro/bequant.js +0 -33
  304. package/dist/cjs/js/src/pro/binance.js +0 -2796
  305. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  306. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  307. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  308. package/dist/cjs/js/src/pro/bingx.js +0 -944
  309. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  310. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  311. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  312. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  313. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  314. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  315. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  316. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  317. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  318. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  319. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  320. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  321. package/dist/cjs/js/src/pro/cex.js +0 -1510
  322. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  323. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  324. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  325. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  326. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  327. package/dist/cjs/js/src/pro/deribit.js +0 -825
  328. package/dist/cjs/js/src/pro/exmo.js +0 -658
  329. package/dist/cjs/js/src/pro/gate.js +0 -1316
  330. package/dist/cjs/js/src/pro/gateio.js +0 -16
  331. package/dist/cjs/js/src/pro/gemini.js +0 -649
  332. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  333. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  334. package/dist/cjs/js/src/pro/htx.js +0 -2388
  335. package/dist/cjs/js/src/pro/huobi.js +0 -16
  336. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  337. package/dist/cjs/js/src/pro/idex.js +0 -714
  338. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  339. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  340. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  341. package/dist/cjs/js/src/pro/kucoin.js +0 -1062
  342. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -989
  343. package/dist/cjs/js/src/pro/luno.js +0 -322
  344. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  345. package/dist/cjs/js/src/pro/ndax.js +0 -545
  346. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  347. package/dist/cjs/js/src/pro/okx.js +0 -1608
  348. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  349. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  350. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1022
  351. package/dist/cjs/js/src/pro/probit.js +0 -586
  352. package/dist/cjs/js/src/pro/upbit.js +0 -234
  353. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  354. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  355. package/dist/cjs/js/src/pro/woo.js +0 -895
  356. package/dist/cjs/js/src/probit.js +0 -1867
  357. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  358. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  359. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  360. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  361. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  362. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  363. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  364. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  365. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  366. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  367. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  368. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  369. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  370. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  371. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  372. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  373. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  374. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  375. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  376. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  377. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  378. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  379. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  380. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  381. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  382. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  383. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  384. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  385. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  386. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  387. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  388. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  389. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  390. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  391. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  392. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  393. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  394. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  395. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  396. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  397. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  398. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  399. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  400. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  401. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  402. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  403. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  404. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  405. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  406. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  407. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  408. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  409. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  410. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  411. package/dist/cjs/js/src/timex.js +0 -1562
  412. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  413. package/dist/cjs/js/src/upbit.js +0 -1844
  414. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  415. package/dist/cjs/js/src/wazirx.js +0 -953
  416. package/dist/cjs/js/src/whitebit.js +0 -2310
  417. package/dist/cjs/js/src/woo.js +0 -2769
  418. package/dist/cjs/js/src/yobit.js +0 -1314
  419. package/dist/cjs/js/src/zaif.js +0 -736
  420. package/dist/cjs/js/src/zonda.js +0 -1883
  421. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  422. package/test.ts +0 -0
  423. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  424. /package/dist/cjs/{js/src → src}/pro/coincheck.js +0 -0
  425. /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
  426. /package/js/src/abstract/{bitpanda.js → onetrading.js} +0 -0
@@ -340,6 +340,14 @@ class bitstamp extends bitstamp$1 {
340
340
  'earn/subscribe/': 1,
341
341
  'earn/subscriptions/setting/': 1,
342
342
  'earn/unsubscribe': 1,
343
+ 'wecan_withdrawal/': 1,
344
+ 'wecan_address/': 1,
345
+ 'trac_withdrawal/': 1,
346
+ 'trac_address/': 1,
347
+ 'eurcv_withdrawal/': 1,
348
+ 'eurcv_address/': 1,
349
+ 'pyusd_withdrawal/': 1,
350
+ 'pyusd_address/': 1,
343
351
  },
344
352
  },
345
353
  },
@@ -41,11 +41,16 @@ class bybit extends bybit$1 {
41
41
  'createMarketSellOrderWithCost': false,
42
42
  'createOrder': true,
43
43
  'createOrders': true,
44
+ 'createOrderWithTakeProfitAndStopLoss': true,
44
45
  'createPostOnlyOrder': true,
45
46
  'createReduceOnlyOrder': true,
46
47
  'createStopLimitOrder': true,
48
+ 'createStopLossOrder': true,
47
49
  'createStopMarketOrder': true,
48
50
  'createStopOrder': true,
51
+ 'createTakeProfitOrder': true,
52
+ 'createTrailingAmountOrder': true,
53
+ 'createTriggerOrder': true,
49
54
  'editOrder': true,
50
55
  'fetchBalance': true,
51
56
  'fetchBorrowInterest': false,
@@ -292,6 +297,7 @@ class bybit extends bybit$1 {
292
297
  'v5/account/wallet-balance': 1,
293
298
  'v5/account/borrow-history': 1,
294
299
  'v5/account/set-collateral-switch': 5,
300
+ 'v5/account/set-collateral-switch-batch': 5,
295
301
  'v5/account/collateral-info': 1,
296
302
  'v5/asset/coin-greeks': 1,
297
303
  'v5/account/fee-rate': 10,
@@ -3957,7 +3963,7 @@ class bybit extends bybit$1 {
3957
3963
  response = await this.privatePostOptionUsdcOpenapiPrivateV1ReplaceOrder(this.extend(request, params));
3958
3964
  }
3959
3965
  else {
3960
- const isStop = this.safeValue(params, 'stop', false);
3966
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
3961
3967
  const triggerPrice = this.safeValue2(params, 'stopPrice', 'triggerPrice');
3962
3968
  const stopLossPrice = this.safeValue(params, 'stopLossPrice');
3963
3969
  const isStopLossOrder = stopLossPrice !== undefined;
@@ -4136,8 +4142,8 @@ class bybit extends bybit$1 {
4136
4142
  // 'orderLinkId': 'string', // one of order_id, stop_order_id or order_link_id is required
4137
4143
  // 'orderId': id,
4138
4144
  };
4139
- const isStop = this.safeValue(params, 'stop', false);
4140
- params = this.omit(params, ['stop']);
4145
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4146
+ params = this.omit(params, ['stop', 'trigger']);
4141
4147
  if (id !== undefined) { // The user can also use argument params["order_link_id"]
4142
4148
  request['orderId'] = id;
4143
4149
  }
@@ -4198,9 +4204,9 @@ class bybit extends bybit$1 {
4198
4204
  };
4199
4205
  if (market['spot']) {
4200
4206
  // only works for spot market
4201
- const isStop = this.safeValue(params, 'stop', false);
4202
- params = this.omit(params, ['stop']);
4203
- request['orderFilter'] = isStop ? 'tpslOrder' : 'Order';
4207
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4208
+ params = this.omit(params, ['stop', 'trigger']);
4209
+ request['orderFilter'] = isStop ? 'StopOrder' : 'Order';
4204
4210
  }
4205
4211
  if (id !== undefined) { // The user can also use argument params["orderLinkId"]
4206
4212
  request['orderId'] = id;
@@ -4247,14 +4253,14 @@ class bybit extends bybit$1 {
4247
4253
  response = await this.privatePostOptionUsdcOpenapiPrivateV1CancelAll(this.extend(request, params));
4248
4254
  }
4249
4255
  else {
4250
- const isStop = this.safeValue(params, 'stop', false);
4256
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4251
4257
  if (isStop) {
4252
4258
  request['orderFilter'] = 'StopOrder';
4253
4259
  }
4254
4260
  else {
4255
4261
  request['orderFilter'] = 'Order';
4256
4262
  }
4257
- params = this.omit(params, ['stop']);
4263
+ params = this.omit(params, ['stop', 'trigger']);
4258
4264
  response = await this.privatePostPerpetualUsdcOpenapiPrivateV1CancelAll(this.extend(request, params));
4259
4265
  }
4260
4266
  //
@@ -4321,10 +4327,10 @@ class bybit extends bybit$1 {
4321
4327
  request['settleCoin'] = this.safeString(params, 'settleCoin', defaultSettle);
4322
4328
  }
4323
4329
  }
4324
- const isStop = this.safeValue(params, 'stop', false);
4325
- params = this.omit(params, ['stop']);
4330
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4331
+ params = this.omit(params, ['stop', 'trigger']);
4326
4332
  if (isStop) {
4327
- request['orderFilter'] = 'tpslOrder';
4333
+ request['orderFilter'] = 'StopOrder';
4328
4334
  }
4329
4335
  const response = await this.privatePostV5OrderCancelAll(this.extend(request, params));
4330
4336
  //
@@ -4389,8 +4395,8 @@ class bybit extends bybit$1 {
4389
4395
  else {
4390
4396
  request['category'] = 'OPTION';
4391
4397
  }
4392
- const isStop = this.safeValue(params, 'stop', false);
4393
- params = this.omit(params, ['stop']);
4398
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4399
+ params = this.omit(params, ['stop', 'trigger']);
4394
4400
  if (isStop) {
4395
4401
  request['orderFilter'] = 'StopOrder';
4396
4402
  }
@@ -4492,12 +4498,7 @@ class bybit extends bybit$1 {
4492
4498
  const isStop = this.safeValueN(params, ['trigger', 'stop'], false);
4493
4499
  params = this.omit(params, ['trigger', 'stop']);
4494
4500
  if (isStop) {
4495
- if (type === 'spot') {
4496
- request['orderFilter'] = 'tpslOrder';
4497
- }
4498
- else {
4499
- request['orderFilter'] = 'StopOrder';
4500
- }
4501
+ request['orderFilter'] = 'StopOrder';
4501
4502
  }
4502
4503
  if (limit !== undefined) {
4503
4504
  request['limit'] = limit;
@@ -4656,7 +4657,7 @@ class bybit extends bybit$1 {
4656
4657
  * @param {int} [since] the earliest time in ms to fetch open orders for
4657
4658
  * @param {int} [limit] the maximum number of open orders structures to retrieve
4658
4659
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4659
- * @param {boolean} [params.stop] true if stop order
4660
+ * @param {boolean} [params.stop] set to true for fetching open stop orders
4660
4661
  * @param {string} [params.type] market type, ['swap', 'option', 'spot']
4661
4662
  * @param {string} [params.subType] market subType, ['linear', 'inverse']
4662
4663
  * @param {string} [params.baseCoin] Base coin. Supports linear, inverse & option
@@ -4690,15 +4691,10 @@ class bybit extends bybit$1 {
4690
4691
  return await this.fetchUsdcOpenOrders(symbol, since, limit, params);
4691
4692
  }
4692
4693
  request['category'] = type;
4693
- const isStop = this.safeValue(params, 'stop', false);
4694
- params = this.omit(params, ['stop']);
4694
+ const isStop = this.safeValue2(params, 'stop', 'trigger', false);
4695
+ params = this.omit(params, ['stop', 'trigger']);
4695
4696
  if (isStop) {
4696
- if (type === 'spot') {
4697
- request['orderFilter'] = 'tpslOrder';
4698
- }
4699
- else {
4700
- request['orderFilter'] = 'StopOrder';
4701
- }
4697
+ request['orderFilter'] = 'StopOrder';
4702
4698
  }
4703
4699
  if (limit !== undefined) {
4704
4700
  request['limit'] = limit;
@@ -4830,12 +4826,11 @@ class bybit extends bybit$1 {
4830
4826
  * @method
4831
4827
  * @name bybit#fetchMyTrades
4832
4828
  * @description fetch all trades made by the user
4833
- * @see https://bybit-exchange.github.io/docs/v5/position/execution
4829
+ * @see https://bybit-exchange.github.io/docs/api-explorer/v5/position/execution
4834
4830
  * @param {string} symbol unified market symbol
4835
4831
  * @param {int} [since] the earliest time in ms to fetch trades for
4836
4832
  * @param {int} [limit] the maximum number of trades structures to retrieve
4837
4833
  * @param {object} [params] extra parameters specific to the exchange API endpoint
4838
- * @param {boolean} [params.stop] true if stop order
4839
4834
  * @param {string} [params.type] market type, ['swap', 'option', 'spot']
4840
4835
  * @param {string} [params.subType] market subType, ['linear', 'inverse']
4841
4836
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
@@ -4849,7 +4844,7 @@ class bybit extends bybit$1 {
4849
4844
  }
4850
4845
  const [enableUnifiedMargin, enableUnifiedAccount] = await this.isUnifiedEnabled();
4851
4846
  const isUnifiedAccount = (enableUnifiedMargin || enableUnifiedAccount);
4852
- const request = {};
4847
+ let request = {};
4853
4848
  let market = undefined;
4854
4849
  let isUsdcSettled = false;
4855
4850
  if (symbol !== undefined) {
@@ -4863,28 +4858,13 @@ class bybit extends bybit$1 {
4863
4858
  return await this.fetchMyUsdcTrades(symbol, since, limit, params);
4864
4859
  }
4865
4860
  request['category'] = type;
4866
- const isStop = this.safeValue(params, 'stop', false);
4867
- params = this.omit(params, ['stop', 'type']);
4868
- if (isStop) {
4869
- if (type === 'spot') {
4870
- request['orderFilter'] = 'tpslOrder';
4871
- }
4872
- else {
4873
- request['orderFilter'] = 'StopOrder';
4874
- }
4875
- }
4876
4861
  if (limit !== undefined) {
4877
4862
  request['limit'] = limit;
4878
4863
  }
4879
4864
  if (since !== undefined) {
4880
4865
  request['startTime'] = since;
4881
4866
  }
4882
- const until = this.safeInteger2(params, 'until', 'till'); // unified in milliseconds
4883
- const endTime = this.safeInteger(params, 'endTime', until); // exchange-specific in milliseconds
4884
- params = this.omit(params, ['endTime', 'till', 'until']);
4885
- if (endTime !== undefined) {
4886
- request['endTime'] = endTime;
4887
- }
4867
+ [request, params] = this.handleUntilOption('endTime', request, params);
4888
4868
  const response = await this.privateGetV5ExecutionList(this.extend(request, params));
4889
4869
  //
4890
4870
  // {
@@ -102,7 +102,7 @@ class coinbase extends coinbase$1 {
102
102
  'setLeverage': false,
103
103
  'setMarginMode': false,
104
104
  'setPositionMode': false,
105
- 'withdraw': undefined,
105
+ 'withdraw': true,
106
106
  },
107
107
  'urls': {
108
108
  'logo': 'https://user-images.githubusercontent.com/1294454/40811661-b6eceae2-653a-11e8-829e-10bfadb078cf.jpg',
@@ -773,46 +773,102 @@ class coinbase extends coinbase$1 {
773
773
  // "next_step": null
774
774
  // }
775
775
  //
776
- const subtotalObject = this.safeValue(transaction, 'subtotal', {});
777
- const feeObject = this.safeValue(transaction, 'fee', {});
778
- const id = this.safeString(transaction, 'id');
779
- const timestamp = this.parse8601(this.safeValue(transaction, 'created_at'));
780
- const updated = this.parse8601(this.safeValue(transaction, 'updated_at'));
781
- const type = this.safeString(transaction, 'resource');
782
- const amount = this.safeNumber(subtotalObject, 'amount');
783
- const currencyId = this.safeString(subtotalObject, 'currency');
784
- const code = this.safeCurrencyCode(currencyId, currency);
785
- const feeCost = this.safeNumber(feeObject, 'amount');
786
- const feeCurrencyId = this.safeString(feeObject, 'currency');
787
- const feeCurrency = this.safeCurrencyCode(feeCurrencyId);
788
- const fee = {
789
- 'cost': feeCost,
790
- 'currency': feeCurrency,
791
- };
776
+ // withdraw
777
+ //
778
+ // {
779
+ // "id": "a1794ecf-5693-55fa-70cf-ef731748ed82",
780
+ // "type": "send",
781
+ // "status": "pending",
782
+ // "amount": {
783
+ // "amount": "-14.008308",
784
+ // "currency": "USDC"
785
+ // },
786
+ // "native_amount": {
787
+ // "amount": "-18.74",
788
+ // "currency": "CAD"
789
+ // },
790
+ // "description": null,
791
+ // "created_at": "2024-01-12T01:27:31Z",
792
+ // "updated_at": "2024-01-12T01:27:31Z",
793
+ // "resource": "transaction",
794
+ // "resource_path": "/v2/accounts/a34bgfad-ed67-538b-bffc-730c98c10da0/transactions/a1794ecf-5693-55fa-70cf-ef731748ed82",
795
+ // "instant_exchange": false,
796
+ // "network": {
797
+ // "status": "pending",
798
+ // "status_description": "Pending (est. less than 10 minutes)",
799
+ // "transaction_fee": {
800
+ // "amount": "4.008308",
801
+ // "currency": "USDC"
802
+ // },
803
+ // "transaction_amount": {
804
+ // "amount": "10.000000",
805
+ // "currency": "USDC"
806
+ // },
807
+ // "confirmations": 0
808
+ // },
809
+ // "to": {
810
+ // "resource": "ethereum_address",
811
+ // "address": "0x9...",
812
+ // "currency": "USDC",
813
+ // "address_info": {
814
+ // "address": "0x9..."
815
+ // }
816
+ // },
817
+ // "idem": "748d8591-dg9a-7831-a45b-crd61dg78762",
818
+ // "details": {
819
+ // "title": "Sent USDC",
820
+ // "subtitle": "To USDC address on Ethereum network",
821
+ // "header": "Sent 14.008308 USDC ($18.74)",
822
+ // "health": "warning"
823
+ // },
824
+ // "hide_native_amount": false
825
+ // }
826
+ //
827
+ const transactionType = this.safeString(transaction, 'type');
828
+ let amountAndCurrencyObject = undefined;
829
+ let feeObject = undefined;
830
+ if (transactionType === 'send') {
831
+ const network = this.safeValue(transaction, 'network', {});
832
+ amountAndCurrencyObject = this.safeValue(network, 'transaction_amount', {});
833
+ feeObject = this.safeValue(network, 'transaction_fee', {});
834
+ }
835
+ else {
836
+ amountAndCurrencyObject = this.safeValue(transaction, 'subtotal', {});
837
+ feeObject = this.safeValue(transaction, 'fee', {});
838
+ }
792
839
  let status = this.parseTransactionStatus(this.safeString(transaction, 'status'));
793
840
  if (status === undefined) {
794
841
  const committed = this.safeValue(transaction, 'committed');
795
842
  status = committed ? 'ok' : 'pending';
796
843
  }
844
+ const id = this.safeString(transaction, 'id');
845
+ const currencyId = this.safeString(amountAndCurrencyObject, 'currency');
846
+ const feeCurrencyId = this.safeString(feeObject, 'currency');
847
+ const datetime = this.safeValue(transaction, 'created_at');
848
+ const toObject = this.safeValue(transaction, 'to', {});
849
+ const toAddress = this.safeString(toObject, 'address');
797
850
  return {
798
851
  'info': transaction,
799
852
  'id': id,
800
853
  'txid': id,
801
- 'timestamp': timestamp,
802
- 'datetime': this.iso8601(timestamp),
854
+ 'timestamp': this.parse8601(datetime),
855
+ 'datetime': datetime,
803
856
  'network': undefined,
804
- 'address': undefined,
805
- 'addressTo': undefined,
857
+ 'address': toAddress,
858
+ 'addressTo': toAddress,
806
859
  'addressFrom': undefined,
807
860
  'tag': undefined,
808
861
  'tagTo': undefined,
809
862
  'tagFrom': undefined,
810
- 'type': type,
811
- 'amount': amount,
812
- 'currency': code,
863
+ 'type': this.safeString(transaction, 'resource'),
864
+ 'amount': this.safeNumber(amountAndCurrencyObject, 'amount'),
865
+ 'currency': this.safeCurrencyCode(currencyId, currency),
813
866
  'status': status,
814
- 'updated': updated,
815
- 'fee': fee,
867
+ 'updated': this.parse8601(this.safeValue(transaction, 'updated_at')),
868
+ 'fee': {
869
+ 'cost': this.safeNumber(feeObject, 'amount'),
870
+ 'currency': this.safeCurrencyCode(feeCurrencyId),
871
+ },
816
872
  };
817
873
  }
818
874
  parseTrade(trade, market = undefined) {
@@ -3166,6 +3222,100 @@ class coinbase extends coinbase$1 {
3166
3222
  const tickers = this.safeValue(response, 'pricebooks', []);
3167
3223
  return this.parseTickers(tickers, symbols);
3168
3224
  }
3225
+ async withdraw(code, amount, address, tag = undefined, params = {}) {
3226
+ /**
3227
+ * @method
3228
+ * @name coinbase#withdraw
3229
+ * @description make a withdrawal
3230
+ * @see https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-transactions#send-money
3231
+ * @param {string} code unified currency code
3232
+ * @param {float} amount the amount to withdraw
3233
+ * @param {string} address the address to withdraw to
3234
+ * @param {string} [tag] an optional tag for the withdrawal
3235
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3236
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
3237
+ */
3238
+ [tag, params] = this.handleWithdrawTagAndParams(tag, params);
3239
+ this.checkAddress(address);
3240
+ await this.loadMarkets();
3241
+ const currency = this.currency(code);
3242
+ let accountId = this.safeString2(params, 'account_id', 'accountId');
3243
+ params = this.omit(params, ['account_id', 'accountId']);
3244
+ if (accountId === undefined) {
3245
+ if (code === undefined) {
3246
+ throw new errors.ArgumentsRequired(this.id + ' withdraw() requires an account_id (or accountId) parameter OR a currency code argument');
3247
+ }
3248
+ accountId = await this.findAccountId(code);
3249
+ if (accountId === undefined) {
3250
+ throw new errors.ExchangeError(this.id + ' withdraw() could not find account id for ' + code);
3251
+ }
3252
+ }
3253
+ const request = {
3254
+ 'account_id': accountId,
3255
+ 'type': 'send',
3256
+ 'to': address,
3257
+ 'amount': amount,
3258
+ 'currency': currency['id'],
3259
+ };
3260
+ if (tag !== undefined) {
3261
+ request['destination_tag'] = tag;
3262
+ }
3263
+ const response = await this.v2PrivatePostAccountsAccountIdTransactions(this.extend(request, params));
3264
+ //
3265
+ // {
3266
+ // "data": {
3267
+ // "id": "a1794ecf-5693-55fa-70cf-ef731748ed82",
3268
+ // "type": "send",
3269
+ // "status": "pending",
3270
+ // "amount": {
3271
+ // "amount": "-14.008308",
3272
+ // "currency": "USDC"
3273
+ // },
3274
+ // "native_amount": {
3275
+ // "amount": "-18.74",
3276
+ // "currency": "CAD"
3277
+ // },
3278
+ // "description": null,
3279
+ // "created_at": "2024-01-12T01:27:31Z",
3280
+ // "updated_at": "2024-01-12T01:27:31Z",
3281
+ // "resource": "transaction",
3282
+ // "resource_path": "/v2/accounts/a34bgfad-ed67-538b-bffc-730c98c10da0/transactions/a1794ecf-5693-55fa-70cf-ef731748ed82",
3283
+ // "instant_exchange": false,
3284
+ // "network": {
3285
+ // "status": "pending",
3286
+ // "status_description": "Pending (est. less than 10 minutes)",
3287
+ // "transaction_fee": {
3288
+ // "amount": "4.008308",
3289
+ // "currency": "USDC"
3290
+ // },
3291
+ // "transaction_amount": {
3292
+ // "amount": "10.000000",
3293
+ // "currency": "USDC"
3294
+ // },
3295
+ // "confirmations": 0
3296
+ // },
3297
+ // "to": {
3298
+ // "resource": "ethereum_address",
3299
+ // "address": "0x9...",
3300
+ // "currency": "USDC",
3301
+ // "address_info": {
3302
+ // "address": "0x9..."
3303
+ // }
3304
+ // },
3305
+ // "idem": "748d8591-dg9a-7831-a45b-crd61dg78762",
3306
+ // "details": {
3307
+ // "title": "Sent USDC",
3308
+ // "subtitle": "To USDC address on Ethereum network",
3309
+ // "header": "Sent 14.008308 USDC ($18.74)",
3310
+ // "health": "warning"
3311
+ // },
3312
+ // "hide_native_amount": false
3313
+ // }
3314
+ // }
3315
+ //
3316
+ const data = this.safeValue(response, 'data', {});
3317
+ return this.parseTransaction(data, currency);
3318
+ }
3169
3319
  sign(path, api = [], method = 'GET', params = {}, headers = undefined, body = undefined) {
3170
3320
  const version = api[0];
3171
3321
  const signed = api[1] === 'private';
@@ -65,6 +65,7 @@ class coincheck extends coincheck$1 {
65
65
  'setLeverage': false,
66
66
  'setMarginMode': false,
67
67
  'setPositionMode': false,
68
+ 'ws': true,
68
69
  },
69
70
  'urls': {
70
71
  'logo': 'https://user-images.githubusercontent.com/51840849/87182088-1d6d6380-c2ec-11ea-9c64-8ab9f9b289f5.jpg',
@@ -51,6 +51,9 @@ class coinex extends coinex$1 {
51
51
  'createOrder': true,
52
52
  'createOrders': true,
53
53
  'createReduceOnlyOrder': true,
54
+ 'createStopLossOrder': true,
55
+ 'createTakeProfitOrder': true,
56
+ 'createTriggerOrder': true,
54
57
  'editOrder': true,
55
58
  'fetchBalance': true,
56
59
  'fetchBorrowInterest': true,
@@ -148,6 +148,9 @@ class coinlist extends coinlist$1 {
148
148
  'v1/symbols/{symbol}/auctions/{auction_code}': 1,
149
149
  'v1/time': 1,
150
150
  'v1/assets': 1,
151
+ 'v1/leaderboard': 1,
152
+ 'v1/affiliate/{competition_code}': 1,
153
+ 'v1/competition/{competition_id}': 1,
151
154
  },
152
155
  },
153
156
  'private': {
@@ -155,6 +158,7 @@ class coinlist extends coinlist$1 {
155
158
  'v1/fees': 1,
156
159
  'v1/accounts': 1,
157
160
  'v1/accounts/{trader_id}': 1,
161
+ 'v1/accounts/{trader_id}/alias': 1,
158
162
  'v1/accounts/{trader_id}/ledger': 1,
159
163
  'v1/accounts/{trader_id}/wallets': 1,
160
164
  'v1/accounts/{trader_id}/wallet-ledger': 1,
@@ -167,7 +171,9 @@ class coinlist extends coinlist$1 {
167
171
  'v1/balances': 1,
168
172
  'v1/transfers': 1,
169
173
  'v1/user': 1,
170
- 'v1/credits': 1, // not unified
174
+ 'v1/credits': 1,
175
+ 'v1/positions': 1,
176
+ 'v1/accounts/{trader_id}/competitions': 1,
171
177
  },
172
178
  'post': {
173
179
  'v1/keys': 1,
@@ -178,7 +184,9 @@ class coinlist extends coinlist$1 {
178
184
  'v1/transfers/from-wallet': 1,
179
185
  'v1/transfers/internal-transfer': 1,
180
186
  'v1/transfers/withdrawal-request': 1,
181
- 'v1/orders/bulk': 1, // not unified
187
+ 'v1/orders/bulk': 1,
188
+ 'v1/accounts/{trader_id}/competitions': 1,
189
+ 'v1/accounts/{trader_id}/create-competition': 1,
182
190
  },
183
191
  'patch': {
184
192
  'v1/orders/{order_id}': 1,
@@ -750,7 +758,7 @@ class coinlist extends coinlist$1 {
750
758
  request['start_time'] = this.iso8601(since);
751
759
  }
752
760
  if (limit !== undefined) {
753
- request['count'] = limit;
761
+ request['count'] = Math.min(limit, 500);
754
762
  }
755
763
  const until = this.safeInteger2(params, 'till', 'until');
756
764
  if (until !== undefined) {
@@ -1109,11 +1117,10 @@ class coinlist extends coinlist$1 {
1109
1117
  // "net_liquidation_value_usd": "string"
1110
1118
  // }
1111
1119
  //
1112
- const timestamp = this.milliseconds();
1113
1120
  const result = {
1114
1121
  'info': response,
1115
- 'timestamp': timestamp,
1116
- 'datetime': this.iso8601(timestamp),
1122
+ 'timestamp': undefined,
1123
+ 'datetime': undefined,
1117
1124
  };
1118
1125
  const totalBalances = this.safeValue(response, 'asset_balances', {});
1119
1126
  const usedBalances = this.safeValue(response, 'asset_holds', {});
@@ -76,7 +76,7 @@ class coinone extends coinone$1 {
76
76
  'setLeverage': false,
77
77
  'setMarginMode': false,
78
78
  'setPositionMode': false,
79
- 'ws': false,
79
+ 'ws': true,
80
80
  },
81
81
  'urls': {
82
82
  'logo': 'https://user-images.githubusercontent.com/1294454/38003300-adc12fba-323f-11e8-8525-725f53c4a659.jpg',
@@ -709,7 +709,7 @@ class coinone extends coinone$1 {
709
709
  'target_currency': market['base'],
710
710
  };
711
711
  if (limit !== undefined) {
712
- request['size'] = limit; // only support 10, 50, 100, 150, 200
712
+ request['size'] = Math.min(limit, 200);
713
713
  }
714
714
  const response = await this.v2PublicGetTradesQuoteCurrencyTargetCurrency(this.extend(request, params));
715
715
  //
@@ -996,10 +996,10 @@ class coinsph extends coinsph$1 {
996
996
  'currency': this.safeCurrencyCode(feeCurrencyId),
997
997
  };
998
998
  }
999
- const isBuyer = this.safeString2(trade, 'isBuyer', 'isBuyerMaker', undefined);
999
+ const isBuyer = this.safeValue2(trade, 'isBuyer', 'isBuyerMaker', undefined);
1000
1000
  let side = undefined;
1001
1001
  if (isBuyer !== undefined) {
1002
- side = (isBuyer === 'true') ? 'buy' : 'sell';
1002
+ side = (isBuyer === true) ? 'buy' : 'sell';
1003
1003
  }
1004
1004
  const isMaker = this.safeString2(trade, 'isMaker', undefined);
1005
1005
  let takerOrMaker = undefined;
@@ -1061,11 +1061,10 @@ class coinsph extends coinsph$1 {
1061
1061
  }
1062
1062
  parseBalance(response) {
1063
1063
  const balances = this.safeValue(response, 'balances', []);
1064
- const timestamp = this.milliseconds();
1065
1064
  const result = {
1066
1065
  'info': response,
1067
- 'timestamp': timestamp,
1068
- 'datetime': this.iso8601(timestamp),
1066
+ 'timestamp': undefined,
1067
+ 'datetime': undefined,
1069
1068
  };
1070
1069
  for (let i = 0; i < balances.length; i++) {
1071
1070
  const balance = balances[i];
@@ -2071,7 +2071,13 @@ class delta extends delta$1 {
2071
2071
  if (limit !== undefined) {
2072
2072
  request['page_size'] = limit;
2073
2073
  }
2074
- const response = await this[method](this.extend(request, params));
2074
+ let response = undefined;
2075
+ if (method === 'privateGetOrders') {
2076
+ response = await this.privateGetOrders(this.extend(request, params));
2077
+ }
2078
+ else if (method === 'privateGetOrdersHistory') {
2079
+ response = await this.privateGetOrdersHistory(this.extend(request, params));
2080
+ }
2075
2081
  //
2076
2082
  // {
2077
2083
  // "success": true,