ccxt 4.5.43 → 4.5.45

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 (1020) hide show
  1. package/README.md +23 -12
  2. package/dist/ccxt.browser.min.js +8 -8
  3. package/dist/cjs/ccxt.js +6 -12
  4. package/dist/cjs/src/abstract/aftermath.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/arkham.js +1 -1
  8. package/dist/cjs/src/abstract/ascendex.js +1 -1
  9. package/dist/cjs/src/abstract/aster.js +1 -1
  10. package/dist/cjs/src/abstract/backpack.js +1 -1
  11. package/dist/cjs/src/abstract/bigone.js +1 -1
  12. package/dist/cjs/src/abstract/binance.js +1 -1
  13. package/dist/cjs/src/abstract/bingx.js +1 -1
  14. package/dist/cjs/src/abstract/bit2c.js +1 -1
  15. package/dist/cjs/src/abstract/bitbank.js +1 -1
  16. package/dist/cjs/src/abstract/bitbns.js +1 -1
  17. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  18. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  19. package/dist/cjs/src/abstract/bitget.js +1 -1
  20. package/dist/cjs/src/abstract/bithumb.js +1 -1
  21. package/dist/cjs/src/abstract/bitmart.js +1 -1
  22. package/dist/cjs/src/abstract/bitmex.js +1 -1
  23. package/dist/cjs/src/abstract/bitopro.js +1 -1
  24. package/dist/cjs/src/abstract/bitrue.js +1 -1
  25. package/dist/cjs/src/abstract/bitso.js +1 -1
  26. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  27. package/dist/cjs/src/abstract/bitteam.js +1 -1
  28. package/dist/cjs/src/abstract/bittrade.js +1 -1
  29. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  30. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  31. package/dist/cjs/src/abstract/blofin.js +1 -1
  32. package/dist/cjs/src/abstract/btcbox.js +1 -1
  33. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  34. package/dist/cjs/src/abstract/btcturk.js +1 -1
  35. package/dist/cjs/src/abstract/bullish.js +1 -1
  36. package/dist/cjs/src/abstract/bybit.js +1 -1
  37. package/dist/cjs/src/abstract/bydfi.js +1 -1
  38. package/dist/cjs/src/abstract/cex.js +1 -1
  39. package/dist/cjs/src/abstract/coinbase.js +1 -1
  40. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  41. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  42. package/dist/cjs/src/abstract/coincatch.js +1 -1
  43. package/dist/cjs/src/abstract/coincheck.js +1 -1
  44. package/dist/cjs/src/abstract/coinex.js +1 -1
  45. package/dist/cjs/src/abstract/coinmate.js +1 -1
  46. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  47. package/dist/cjs/src/abstract/coinone.js +1 -1
  48. package/dist/cjs/src/abstract/coinsph.js +1 -1
  49. package/dist/cjs/src/abstract/coinspot.js +1 -1
  50. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  51. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  52. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  53. package/dist/cjs/src/abstract/delta.js +1 -1
  54. package/dist/cjs/src/abstract/deribit.js +1 -1
  55. package/dist/cjs/src/abstract/derive.js +1 -1
  56. package/dist/cjs/src/abstract/digifinex.js +1 -1
  57. package/dist/cjs/src/abstract/dydx.js +1 -1
  58. package/dist/cjs/src/abstract/exmo.js +1 -1
  59. package/dist/cjs/src/abstract/foxbit.js +1 -1
  60. package/dist/cjs/src/abstract/gate.js +1 -1
  61. package/dist/cjs/src/abstract/gemini.js +1 -1
  62. package/dist/cjs/src/abstract/{alp.js → grvt.js} +1 -1
  63. package/dist/cjs/src/abstract/hashkey.js +1 -1
  64. package/dist/cjs/src/abstract/hibachi.js +1 -1
  65. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  66. package/dist/cjs/src/abstract/hollaex.js +1 -1
  67. package/dist/cjs/src/abstract/htx.js +1 -1
  68. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  69. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  70. package/dist/cjs/src/abstract/indodax.js +1 -1
  71. package/dist/cjs/src/abstract/kraken.js +1 -1
  72. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  73. package/dist/cjs/src/abstract/kucoin.js +1 -1
  74. package/dist/cjs/src/abstract/latoken.js +1 -1
  75. package/dist/cjs/src/abstract/lbank.js +1 -1
  76. package/dist/cjs/src/abstract/lighter.js +1 -1
  77. package/dist/cjs/src/abstract/luno.js +1 -1
  78. package/dist/cjs/src/abstract/mercado.js +1 -1
  79. package/dist/cjs/src/abstract/mexc.js +1 -1
  80. package/dist/cjs/src/abstract/modetrade.js +1 -1
  81. package/dist/cjs/src/abstract/ndax.js +1 -1
  82. package/dist/cjs/src/abstract/novadax.js +1 -1
  83. package/dist/cjs/src/abstract/okx.js +1 -1
  84. package/dist/cjs/src/abstract/onetrading.js +1 -1
  85. package/dist/cjs/src/abstract/oxfun.js +1 -1
  86. package/dist/cjs/src/abstract/p2b.js +1 -1
  87. package/dist/cjs/src/abstract/paradex.js +1 -1
  88. package/dist/cjs/src/abstract/paymium.js +1 -1
  89. package/dist/cjs/src/abstract/phemex.js +1 -1
  90. package/dist/cjs/src/abstract/poloniex.js +1 -1
  91. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  92. package/dist/cjs/src/abstract/toobit.js +1 -1
  93. package/dist/cjs/src/abstract/upbit.js +1 -1
  94. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  95. package/dist/cjs/src/abstract/whitebit.js +1 -1
  96. package/dist/cjs/src/abstract/woo.js +1 -1
  97. package/dist/cjs/src/abstract/woofipro.js +1 -1
  98. package/dist/cjs/src/abstract/xt.js +1 -1
  99. package/dist/cjs/src/abstract/yobit.js +1 -1
  100. package/dist/cjs/src/abstract/zaif.js +1 -1
  101. package/dist/cjs/src/abstract/zebpay.js +1 -1
  102. package/dist/cjs/src/abstract/zonda.js +1 -1
  103. package/dist/cjs/src/aftermath.js +0 -1
  104. package/dist/cjs/src/alpaca.js +1 -1
  105. package/dist/cjs/src/apex.js +1 -1
  106. package/dist/cjs/src/arkham.js +1 -1
  107. package/dist/cjs/src/ascendex.js +1 -1
  108. package/dist/cjs/src/aster.js +1 -1
  109. package/dist/cjs/src/backpack.js +1 -1
  110. package/dist/cjs/src/base/Exchange.js +37 -1
  111. package/dist/cjs/src/base/Precise.js +0 -6
  112. package/dist/cjs/src/base/errors.js +0 -6
  113. package/dist/cjs/src/base/functions/crypto.js +1 -1
  114. package/dist/cjs/src/base/functions/encode.js +3 -3
  115. package/dist/cjs/src/base/functions/generic.js +8 -2
  116. package/dist/cjs/src/base/functions/io.js +1 -1
  117. package/dist/cjs/src/base/functions/misc.js +0 -1
  118. package/dist/cjs/src/base/functions/number.js +0 -6
  119. package/dist/cjs/src/base/functions/platform.js +0 -6
  120. package/dist/cjs/src/base/functions/rsa.js +0 -1
  121. package/dist/cjs/src/base/functions/string.js +0 -6
  122. package/dist/cjs/src/base/functions/throttle.js +1 -1
  123. package/dist/cjs/src/base/functions/time.js +0 -6
  124. package/dist/cjs/src/base/functions/totp.js +0 -1
  125. package/dist/cjs/src/base/functions/type.js +0 -6
  126. package/dist/cjs/src/base/functions.js +1 -1
  127. package/dist/cjs/src/base/ws/Cache.js +0 -6
  128. package/dist/cjs/src/base/ws/Client.js +0 -1
  129. package/dist/cjs/src/base/ws/Future.js +1 -1
  130. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  131. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  132. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  133. package/dist/cjs/src/bequant.js +1 -1
  134. package/dist/cjs/src/bigone.js +1 -1
  135. package/dist/cjs/src/binance.js +53 -3
  136. package/dist/cjs/src/binancecoinm.js +1 -1
  137. package/dist/cjs/src/binanceus.js +1 -1
  138. package/dist/cjs/src/binanceusdm.js +1 -1
  139. package/dist/cjs/src/bingx.js +1 -1
  140. package/dist/cjs/src/bit2c.js +1 -1
  141. package/dist/cjs/src/bitbank.js +1 -1
  142. package/dist/cjs/src/bitbns.js +1 -1
  143. package/dist/cjs/src/bitfinex.js +1 -1
  144. package/dist/cjs/src/bitflyer.js +1 -1
  145. package/dist/cjs/src/bitget.js +1 -1
  146. package/dist/cjs/src/bithumb.js +1 -1
  147. package/dist/cjs/src/bitmart.js +1 -1
  148. package/dist/cjs/src/bitmex.js +1 -1
  149. package/dist/cjs/src/bitopro.js +1 -1
  150. package/dist/cjs/src/bitrue.js +2 -2
  151. package/dist/cjs/src/bitso.js +1 -1
  152. package/dist/cjs/src/bitstamp.js +1 -1
  153. package/dist/cjs/src/bitteam.js +2 -2
  154. package/dist/cjs/src/bittrade.js +1 -1
  155. package/dist/cjs/src/bitvavo.js +1 -0
  156. package/dist/cjs/src/blockchaincom.js +1 -1
  157. package/dist/cjs/src/blofin.js +1 -1
  158. package/dist/cjs/src/btcbox.js +2 -2
  159. package/dist/cjs/src/btcmarkets.js +1 -1
  160. package/dist/cjs/src/btcturk.js +1 -1
  161. package/dist/cjs/src/bullish.js +1 -1
  162. package/dist/cjs/src/bybit.js +1 -1
  163. package/dist/cjs/src/bydfi.js +1 -1
  164. package/dist/cjs/src/cex.js +2 -1
  165. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  166. package/dist/cjs/src/coincatch.js +4 -16
  167. package/dist/cjs/src/coincheck.js +1 -1
  168. package/dist/cjs/src/coinex.js +1 -1
  169. package/dist/cjs/src/coinmate.js +1 -1
  170. package/dist/cjs/src/coinmetro.js +1 -1
  171. package/dist/cjs/src/coinone.js +1 -1
  172. package/dist/cjs/src/coinsph.js +0 -1
  173. package/dist/cjs/src/coinspot.js +1 -1
  174. package/dist/cjs/src/cryptocom.js +1 -1
  175. package/dist/cjs/src/cryptomus.js +1 -1
  176. package/dist/cjs/src/deepcoin.js +2 -2
  177. package/dist/cjs/src/delta.js +1 -1
  178. package/dist/cjs/src/deribit.js +2 -2
  179. package/dist/cjs/src/derive.js +1 -1
  180. package/dist/cjs/src/digifinex.js +1 -1
  181. package/dist/cjs/src/dydx.js +1 -1
  182. package/dist/cjs/src/exmo.js +1 -1
  183. package/dist/cjs/src/fmfwio.js +1 -1
  184. package/dist/cjs/src/foxbit.js +1 -1
  185. package/dist/cjs/src/gate.js +244 -173
  186. package/dist/cjs/src/gateio.js +1 -1
  187. package/dist/cjs/src/gemini.js +1 -1
  188. package/dist/cjs/src/grvt.js +3280 -0
  189. package/dist/cjs/src/hashkey.js +1 -1
  190. package/dist/cjs/src/hibachi.js +1 -1
  191. package/dist/cjs/src/hitbtc.js +1 -1
  192. package/dist/cjs/src/hollaex.js +1 -1
  193. package/dist/cjs/src/htx.js +1 -1
  194. package/dist/cjs/src/huobi.js +1 -1
  195. package/dist/cjs/src/hyperliquid.js +32 -13
  196. package/dist/cjs/src/independentreserve.js +1 -1
  197. package/dist/cjs/src/indodax.js +1 -1
  198. package/dist/cjs/src/kraken.js +4 -3
  199. package/dist/cjs/src/krakenfutures.js +4 -14
  200. package/dist/cjs/src/kucoin.js +4730 -970
  201. package/dist/cjs/src/kucoinfutures.js +15 -3435
  202. package/dist/cjs/src/latoken.js +1 -1
  203. package/dist/cjs/src/lbank.js +2 -2
  204. package/dist/cjs/src/lighter.js +28 -1
  205. package/dist/cjs/src/luno.js +1 -1
  206. package/dist/cjs/src/mercado.js +1 -1
  207. package/dist/cjs/src/mexc.js +1 -1
  208. package/dist/cjs/src/modetrade.js +1 -1
  209. package/dist/cjs/src/myokx.js +1 -1
  210. package/dist/cjs/src/ndax.js +1 -1
  211. package/dist/cjs/src/novadax.js +1 -1
  212. package/dist/cjs/src/okx.js +1 -1
  213. package/dist/cjs/src/okxus.js +1 -1
  214. package/dist/cjs/src/onetrading.js +1 -1
  215. package/dist/cjs/src/oxfun.js +1 -1
  216. package/dist/cjs/src/p2b.js +1 -1
  217. package/dist/cjs/src/paradex.js +1 -1
  218. package/dist/cjs/src/paymium.js +1 -1
  219. package/dist/cjs/src/poloniex.js +2 -2
  220. package/dist/cjs/src/pro/alpaca.js +1 -1
  221. package/dist/cjs/src/pro/apex.js +1 -1
  222. package/dist/cjs/src/pro/arkham.js +1 -1
  223. package/dist/cjs/src/pro/ascendex.js +1 -1
  224. package/dist/cjs/src/pro/aster.js +1 -1
  225. package/dist/cjs/src/pro/backpack.js +1 -1
  226. package/dist/cjs/src/pro/bequant.js +1 -1
  227. package/dist/cjs/src/pro/binance.js +35 -14
  228. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  229. package/dist/cjs/src/pro/binanceus.js +1 -1
  230. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  231. package/dist/cjs/src/pro/bingx.js +1 -1
  232. package/dist/cjs/src/pro/bitfinex.js +1 -1
  233. package/dist/cjs/src/pro/bitget.js +1 -1
  234. package/dist/cjs/src/pro/bithumb.js +1 -1
  235. package/dist/cjs/src/pro/bitmart.js +1 -1
  236. package/dist/cjs/src/pro/bitmex.js +1 -1
  237. package/dist/cjs/src/pro/bitrue.js +1 -1
  238. package/dist/cjs/src/pro/bitstamp.js +1 -1
  239. package/dist/cjs/src/pro/bitvavo.js +1 -1
  240. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  241. package/dist/cjs/src/pro/blofin.js +1 -1
  242. package/dist/cjs/src/pro/bullish.js +1 -1
  243. package/dist/cjs/src/pro/bybit.js +1 -1
  244. package/dist/cjs/src/pro/bydfi.js +1 -1
  245. package/dist/cjs/src/pro/cex.js +1 -1
  246. package/dist/cjs/src/pro/coinbase.js +1 -1
  247. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  248. package/dist/cjs/src/pro/coinbaseexchange.js +30 -25
  249. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  250. package/dist/cjs/src/pro/coincatch.js +1 -1
  251. package/dist/cjs/src/pro/coincheck.js +1 -1
  252. package/dist/cjs/src/pro/coinex.js +1 -1
  253. package/dist/cjs/src/pro/coinone.js +1 -1
  254. package/dist/cjs/src/pro/cryptocom.js +1 -1
  255. package/dist/cjs/src/pro/deepcoin.js +1 -1
  256. package/dist/cjs/src/pro/deribit.js +1 -1
  257. package/dist/cjs/src/pro/dydx.js +1 -1
  258. package/dist/cjs/src/pro/exmo.js +1 -1
  259. package/dist/cjs/src/pro/gate.js +38 -2
  260. package/dist/cjs/src/pro/gateio.js +1 -1
  261. package/dist/cjs/src/pro/gemini.js +1 -1
  262. package/dist/cjs/src/pro/grvt.js +923 -0
  263. package/dist/cjs/src/pro/hashkey.js +1 -1
  264. package/dist/cjs/src/pro/hitbtc.js +1 -1
  265. package/dist/cjs/src/pro/hollaex.js +1 -1
  266. package/dist/cjs/src/pro/htx.js +1 -1
  267. package/dist/cjs/src/pro/huobi.js +1 -1
  268. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  269. package/dist/cjs/src/pro/independentreserve.js +1 -1
  270. package/dist/cjs/src/pro/kraken.js +1 -1
  271. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  272. package/dist/cjs/src/pro/kucoin.js +820 -179
  273. package/dist/cjs/src/pro/kucoinfutures.js +95 -1261
  274. package/dist/cjs/src/pro/lbank.js +0 -1
  275. package/dist/cjs/src/pro/lighter.js +1 -1
  276. package/dist/cjs/src/pro/luno.js +1 -1
  277. package/dist/cjs/src/pro/mexc.js +11 -6
  278. package/dist/cjs/src/pro/myokx.js +1 -1
  279. package/dist/cjs/src/pro/ndax.js +1 -1
  280. package/dist/cjs/src/pro/okx.js +85 -40
  281. package/dist/cjs/src/pro/okxus.js +1 -1
  282. package/dist/cjs/src/pro/onetrading.js +1 -1
  283. package/dist/cjs/src/pro/oxfun.js +1 -1
  284. package/dist/cjs/src/pro/p2b.js +1 -1
  285. package/dist/cjs/src/pro/paradex.js +1 -1
  286. package/dist/cjs/src/pro/phemex.js +1 -1
  287. package/dist/cjs/src/pro/poloniex.js +1 -1
  288. package/dist/cjs/src/pro/toobit.js +1 -1
  289. package/dist/cjs/src/pro/upbit.js +1 -1
  290. package/dist/cjs/src/pro/whitebit.js +1 -1
  291. package/dist/cjs/src/pro/xt.js +1 -1
  292. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  306. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  307. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  308. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  309. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  310. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  311. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  312. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  313. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  314. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  315. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  316. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  317. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  318. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  319. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  320. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  321. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  322. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  323. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  324. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  325. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  326. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  327. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  328. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  329. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  330. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  331. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  332. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  333. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  334. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  335. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  336. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  337. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  338. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  339. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  345. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  346. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  347. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  348. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  349. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  350. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  351. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  352. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  353. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  354. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  355. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  356. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  357. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  358. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  359. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  360. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  361. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  362. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  363. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  364. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  365. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  366. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  367. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  368. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  369. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  370. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  371. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +0 -1
  372. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +0 -1
  373. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  374. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  375. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  376. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  377. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  378. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  379. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  380. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  381. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  382. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  383. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  384. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  385. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  386. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  387. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  388. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  389. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  390. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  391. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  392. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  393. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  394. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  395. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  396. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  397. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  398. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  399. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  400. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +19 -1
  401. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
  402. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  403. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  404. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  405. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  406. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  407. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  408. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  409. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  410. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  411. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  412. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  413. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  414. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  415. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  416. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  417. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  418. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  419. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  420. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  421. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  422. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  423. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  424. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  425. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  426. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  427. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  428. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  429. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  430. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  431. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  432. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  433. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  434. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  435. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  436. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  437. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  438. package/dist/cjs/src/tokocrypto.js +1 -1
  439. package/dist/cjs/src/toobit.js +1 -1
  440. package/dist/cjs/src/upbit.js +1 -1
  441. package/dist/cjs/src/wavesexchange.js +1 -1
  442. package/dist/cjs/src/whitebit.js +63 -2
  443. package/dist/cjs/src/woo.js +1 -1
  444. package/dist/cjs/src/woofipro.js +1 -1
  445. package/dist/cjs/src/xt.js +1 -1
  446. package/dist/cjs/src/yobit.js +1 -1
  447. package/dist/cjs/src/zaif.js +1 -1
  448. package/dist/cjs/src/zebpay.js +1 -1
  449. package/dist/cjs/src/zonda.js +1 -1
  450. package/js/ccxt.d.ts +8 -14
  451. package/js/ccxt.js +6 -16
  452. package/js/src/abstract/aftermath.js +0 -6
  453. package/js/src/abstract/alpaca.js +0 -6
  454. package/js/src/abstract/apex.js +0 -6
  455. package/js/src/abstract/arkham.js +0 -6
  456. package/js/src/abstract/ascendex.js +0 -6
  457. package/js/src/abstract/aster.js +0 -6
  458. package/js/src/abstract/backpack.js +0 -6
  459. package/js/src/abstract/bequant.js +0 -6
  460. package/js/src/abstract/bigone.js +0 -6
  461. package/js/src/abstract/binance.js +0 -6
  462. package/js/src/abstract/binancecoinm.js +0 -6
  463. package/js/src/abstract/binanceus.js +0 -6
  464. package/js/src/abstract/binanceusdm.js +0 -6
  465. package/js/src/abstract/bingx.js +0 -6
  466. package/js/src/abstract/bit2c.js +0 -6
  467. package/js/src/abstract/bitbank.js +0 -6
  468. package/js/src/abstract/bitbns.js +0 -6
  469. package/js/src/abstract/bitfinex.js +0 -6
  470. package/js/src/abstract/bitflyer.js +0 -6
  471. package/js/src/abstract/bitget.js +0 -6
  472. package/js/src/abstract/bithumb.js +0 -6
  473. package/js/src/abstract/bitmart.js +0 -6
  474. package/js/src/abstract/bitmex.js +0 -6
  475. package/js/src/abstract/bitopro.js +0 -6
  476. package/js/src/abstract/bitrue.js +0 -6
  477. package/js/src/abstract/bitso.js +0 -6
  478. package/js/src/abstract/bitstamp.js +0 -6
  479. package/js/src/abstract/bitteam.js +0 -6
  480. package/js/src/abstract/bittrade.js +0 -6
  481. package/js/src/abstract/bitvavo.js +0 -6
  482. package/js/src/abstract/blockchaincom.js +0 -6
  483. package/js/src/abstract/blofin.js +0 -6
  484. package/js/src/abstract/btcbox.js +0 -6
  485. package/js/src/abstract/btcmarkets.js +0 -6
  486. package/js/src/abstract/btcturk.js +0 -6
  487. package/js/src/abstract/bullish.js +0 -6
  488. package/js/src/abstract/bybit.js +0 -6
  489. package/js/src/abstract/bydfi.js +0 -6
  490. package/js/src/abstract/cex.js +0 -6
  491. package/js/src/abstract/coinbase.js +0 -6
  492. package/js/src/abstract/coinbaseadvanced.js +0 -6
  493. package/js/src/abstract/coinbaseexchange.js +0 -6
  494. package/js/src/abstract/coinbaseinternational.js +0 -6
  495. package/js/src/abstract/coincatch.js +0 -6
  496. package/js/src/abstract/coincheck.js +0 -6
  497. package/js/src/abstract/coinex.js +0 -6
  498. package/js/src/abstract/coinmate.js +0 -6
  499. package/js/src/abstract/coinmetro.js +0 -6
  500. package/js/src/abstract/coinone.js +0 -6
  501. package/js/src/abstract/coinsph.js +0 -6
  502. package/js/src/abstract/coinspot.js +0 -6
  503. package/js/src/abstract/cryptocom.js +0 -6
  504. package/js/src/abstract/cryptomus.js +0 -6
  505. package/js/src/abstract/deepcoin.js +0 -6
  506. package/js/src/abstract/delta.js +0 -6
  507. package/js/src/abstract/deribit.js +0 -6
  508. package/js/src/abstract/derive.js +0 -6
  509. package/js/src/abstract/digifinex.js +0 -6
  510. package/js/src/abstract/dydx.js +0 -6
  511. package/js/src/abstract/exmo.js +0 -6
  512. package/js/src/abstract/fmfwio.js +0 -6
  513. package/js/src/abstract/foxbit.js +0 -6
  514. package/js/src/abstract/gate.js +0 -6
  515. package/js/src/abstract/gateio.js +0 -6
  516. package/js/src/abstract/gemini.js +0 -6
  517. package/js/src/abstract/grvt.d.ts +57 -0
  518. package/js/src/abstract/grvt.js +5 -0
  519. package/js/src/abstract/hashkey.js +0 -6
  520. package/js/src/abstract/hibachi.js +0 -6
  521. package/js/src/abstract/hitbtc.js +0 -6
  522. package/js/src/abstract/hollaex.js +0 -6
  523. package/js/src/abstract/htx.js +0 -6
  524. package/js/src/abstract/huobi.js +0 -6
  525. package/js/src/abstract/hyperliquid.js +0 -6
  526. package/js/src/abstract/independentreserve.js +0 -6
  527. package/js/src/abstract/indodax.js +0 -6
  528. package/js/src/abstract/kraken.js +0 -6
  529. package/js/src/abstract/krakenfutures.js +0 -6
  530. package/js/src/abstract/kucoin.d.ts +46 -3
  531. package/js/src/abstract/kucoin.js +0 -6
  532. package/js/src/abstract/kucoinfutures.d.ts +27 -12
  533. package/js/src/abstract/kucoinfutures.js +0 -6
  534. package/js/src/abstract/latoken.js +0 -6
  535. package/js/src/abstract/lbank.js +0 -6
  536. package/js/src/abstract/lighter.js +0 -6
  537. package/js/src/abstract/luno.js +0 -6
  538. package/js/src/abstract/mercado.js +0 -6
  539. package/js/src/abstract/mexc.js +0 -6
  540. package/js/src/abstract/modetrade.js +0 -6
  541. package/js/src/abstract/myokx.js +0 -6
  542. package/js/src/abstract/ndax.js +0 -6
  543. package/js/src/abstract/novadax.js +0 -6
  544. package/js/src/abstract/okx.js +0 -6
  545. package/js/src/abstract/okxus.js +0 -6
  546. package/js/src/abstract/onetrading.js +0 -6
  547. package/js/src/abstract/oxfun.js +0 -6
  548. package/js/src/abstract/p2b.js +0 -6
  549. package/js/src/abstract/paradex.js +0 -6
  550. package/js/src/abstract/paymium.js +0 -6
  551. package/js/src/abstract/phemex.js +0 -6
  552. package/js/src/abstract/poloniex.js +0 -6
  553. package/js/src/abstract/tokocrypto.js +0 -6
  554. package/js/src/abstract/toobit.js +0 -6
  555. package/js/src/abstract/upbit.js +0 -6
  556. package/js/src/abstract/wavesexchange.js +0 -6
  557. package/js/src/abstract/whitebit.d.ts +1 -0
  558. package/js/src/abstract/whitebit.js +0 -6
  559. package/js/src/abstract/woo.js +0 -6
  560. package/js/src/abstract/woofipro.js +0 -6
  561. package/js/src/abstract/xt.js +0 -6
  562. package/js/src/abstract/yobit.js +0 -6
  563. package/js/src/abstract/zaif.js +0 -6
  564. package/js/src/abstract/zebpay.js +0 -6
  565. package/js/src/abstract/zonda.js +0 -6
  566. package/js/src/aftermath.js +0 -6
  567. package/js/src/alpaca.js +0 -6
  568. package/js/src/apex.js +0 -6
  569. package/js/src/arkham.js +0 -6
  570. package/js/src/ascendex.js +0 -6
  571. package/js/src/aster.js +0 -6
  572. package/js/src/backpack.js +0 -6
  573. package/js/src/base/Exchange.d.ts +12 -0
  574. package/js/src/base/Exchange.js +37 -7
  575. package/js/src/base/Precise.js +0 -6
  576. package/js/src/base/errorHierarchy.js +0 -6
  577. package/js/src/base/errors.js +0 -6
  578. package/js/src/base/functions/crypto.js +0 -6
  579. package/js/src/base/functions/encode.js +2 -8
  580. package/js/src/base/functions/generic.js +9 -9
  581. package/js/src/base/functions/io.js +0 -6
  582. package/js/src/base/functions/misc.js +0 -6
  583. package/js/src/base/functions/number.js +0 -6
  584. package/js/src/base/functions/platform.js +0 -6
  585. package/js/src/base/functions/rsa.js +0 -6
  586. package/js/src/base/functions/string.js +0 -6
  587. package/js/src/base/functions/throttle.js +0 -6
  588. package/js/src/base/functions/time.js +0 -6
  589. package/js/src/base/functions/totp.js +0 -6
  590. package/js/src/base/functions/type.js +0 -6
  591. package/js/src/base/functions.js +0 -6
  592. package/js/src/base/types.js +0 -6
  593. package/js/src/base/ws/Cache.js +0 -6
  594. package/js/src/base/ws/Client.js +0 -6
  595. package/js/src/base/ws/Future.js +0 -6
  596. package/js/src/base/ws/OrderBook.js +0 -6
  597. package/js/src/base/ws/OrderBookSide.js +0 -6
  598. package/js/src/base/ws/WsClient.js +0 -6
  599. package/js/src/base/ws/functions.js +0 -6
  600. package/js/src/bequant.js +0 -6
  601. package/js/src/bigone.js +0 -6
  602. package/js/src/binance.js +52 -8
  603. package/js/src/binancecoinm.js +0 -6
  604. package/js/src/binanceus.js +0 -6
  605. package/js/src/binanceusdm.js +0 -6
  606. package/js/src/bingx.js +0 -6
  607. package/js/src/bit2c.js +0 -6
  608. package/js/src/bitbank.js +0 -6
  609. package/js/src/bitbns.js +0 -6
  610. package/js/src/bitfinex.js +0 -6
  611. package/js/src/bitflyer.js +0 -6
  612. package/js/src/bitget.js +0 -6
  613. package/js/src/bithumb.js +0 -6
  614. package/js/src/bitmart.js +0 -6
  615. package/js/src/bitmex.js +0 -6
  616. package/js/src/bitopro.js +0 -6
  617. package/js/src/bitrue.js +1 -7
  618. package/js/src/bitso.js +0 -6
  619. package/js/src/bitstamp.js +0 -6
  620. package/js/src/bitteam.js +1 -7
  621. package/js/src/bittrade.js +0 -6
  622. package/js/src/bitvavo.js +1 -6
  623. package/js/src/blockchaincom.js +0 -6
  624. package/js/src/blofin.js +0 -6
  625. package/js/src/btcbox.js +1 -7
  626. package/js/src/btcmarkets.js +0 -6
  627. package/js/src/btcturk.js +0 -6
  628. package/js/src/bullish.js +0 -6
  629. package/js/src/bybit.js +0 -6
  630. package/js/src/bydfi.js +0 -6
  631. package/js/src/cex.js +2 -7
  632. package/js/src/coinbase.js +0 -6
  633. package/js/src/coinbaseadvanced.js +0 -6
  634. package/js/src/coinbaseexchange.js +0 -6
  635. package/js/src/coinbaseinternational.js +0 -6
  636. package/js/src/coincatch.js +3 -21
  637. package/js/src/coincheck.js +0 -6
  638. package/js/src/coinex.js +0 -6
  639. package/js/src/coinmate.js +0 -6
  640. package/js/src/coinmetro.js +0 -6
  641. package/js/src/coinone.js +0 -6
  642. package/js/src/coinsph.js +0 -6
  643. package/js/src/coinspot.js +0 -6
  644. package/js/src/cryptocom.js +0 -6
  645. package/js/src/cryptomus.js +0 -6
  646. package/js/src/deepcoin.js +1 -7
  647. package/js/src/delta.js +0 -6
  648. package/js/src/deribit.js +1 -7
  649. package/js/src/derive.js +0 -6
  650. package/js/src/digifinex.js +0 -6
  651. package/js/src/dydx.js +0 -6
  652. package/js/src/exmo.js +0 -6
  653. package/js/src/fmfwio.js +0 -6
  654. package/js/src/foxbit.js +0 -6
  655. package/js/src/gate.d.ts +125 -119
  656. package/js/src/gate.js +243 -178
  657. package/js/src/gateio.js +0 -6
  658. package/js/src/gemini.js +0 -6
  659. package/js/src/grvt.d.ts +446 -0
  660. package/js/src/grvt.js +3273 -0
  661. package/js/src/hashkey.js +0 -6
  662. package/js/src/hibachi.js +0 -6
  663. package/js/src/hitbtc.js +1 -6
  664. package/js/src/hollaex.js +0 -6
  665. package/js/src/htx.js +0 -6
  666. package/js/src/huobi.js +0 -6
  667. package/js/src/hyperliquid.d.ts +3 -1
  668. package/js/src/hyperliquid.js +31 -18
  669. package/js/src/independentreserve.js +0 -6
  670. package/js/src/indodax.js +0 -6
  671. package/js/src/kraken.js +3 -8
  672. package/js/src/krakenfutures.js +3 -19
  673. package/js/src/kucoin.d.ts +696 -100
  674. package/js/src/kucoin.js +4731 -977
  675. package/js/src/kucoinfutures.d.ts +4 -522
  676. package/js/src/kucoinfutures.js +14 -3440
  677. package/js/src/latoken.js +0 -6
  678. package/js/src/lbank.js +1 -7
  679. package/js/src/lighter.d.ts +8 -0
  680. package/js/src/lighter.js +27 -6
  681. package/js/src/luno.js +0 -6
  682. package/js/src/mercado.js +0 -6
  683. package/js/src/mexc.js +0 -6
  684. package/js/src/modetrade.js +0 -6
  685. package/js/src/myokx.js +0 -6
  686. package/js/src/ndax.js +0 -6
  687. package/js/src/novadax.js +0 -6
  688. package/js/src/okx.js +0 -6
  689. package/js/src/okxus.js +0 -6
  690. package/js/src/onetrading.js +0 -6
  691. package/js/src/oxfun.js +0 -6
  692. package/js/src/p2b.js +0 -6
  693. package/js/src/paradex.js +0 -6
  694. package/js/src/paymium.js +0 -6
  695. package/js/src/phemex.js +0 -6
  696. package/js/src/poloniex.js +1 -7
  697. package/js/src/pro/aftermath.js +0 -6
  698. package/js/src/pro/alpaca.js +0 -6
  699. package/js/src/pro/apex.js +0 -6
  700. package/js/src/pro/arkham.js +0 -6
  701. package/js/src/pro/ascendex.js +0 -6
  702. package/js/src/pro/aster.js +0 -6
  703. package/js/src/pro/backpack.js +0 -6
  704. package/js/src/pro/bequant.js +0 -6
  705. package/js/src/pro/binance.d.ts +3 -0
  706. package/js/src/pro/binance.js +35 -20
  707. package/js/src/pro/binancecoinm.js +0 -6
  708. package/js/src/pro/binanceus.js +0 -6
  709. package/js/src/pro/binanceusdm.js +0 -6
  710. package/js/src/pro/bingx.js +0 -6
  711. package/js/src/pro/bitfinex.js +0 -6
  712. package/js/src/pro/bitget.js +0 -6
  713. package/js/src/pro/bithumb.js +0 -6
  714. package/js/src/pro/bitmart.js +0 -6
  715. package/js/src/pro/bitmex.js +0 -6
  716. package/js/src/pro/bitopro.js +0 -6
  717. package/js/src/pro/bitrue.js +0 -6
  718. package/js/src/pro/bitstamp.js +0 -6
  719. package/js/src/pro/bittrade.js +0 -6
  720. package/js/src/pro/bitvavo.js +0 -6
  721. package/js/src/pro/blockchaincom.js +0 -6
  722. package/js/src/pro/blofin.js +0 -6
  723. package/js/src/pro/bullish.js +0 -6
  724. package/js/src/pro/bybit.js +0 -6
  725. package/js/src/pro/bydfi.js +0 -6
  726. package/js/src/pro/cex.js +0 -6
  727. package/js/src/pro/coinbase.js +0 -6
  728. package/js/src/pro/coinbaseadvanced.js +0 -6
  729. package/js/src/pro/coinbaseexchange.js +29 -30
  730. package/js/src/pro/coinbaseinternational.js +0 -6
  731. package/js/src/pro/coincatch.js +0 -6
  732. package/js/src/pro/coincheck.js +0 -6
  733. package/js/src/pro/coinex.js +0 -6
  734. package/js/src/pro/coinone.js +0 -6
  735. package/js/src/pro/cryptocom.js +0 -6
  736. package/js/src/pro/deepcoin.js +0 -6
  737. package/js/src/pro/deribit.js +0 -6
  738. package/js/src/pro/derive.js +0 -6
  739. package/js/src/pro/dydx.js +0 -6
  740. package/js/src/pro/exmo.js +0 -6
  741. package/js/src/pro/gate.d.ts +30 -1
  742. package/js/src/pro/gate.js +37 -7
  743. package/js/src/pro/gateio.js +0 -6
  744. package/js/src/pro/gemini.js +0 -6
  745. package/js/src/pro/grvt.d.ts +155 -0
  746. package/js/src/pro/grvt.js +916 -0
  747. package/js/src/pro/hashkey.js +0 -6
  748. package/js/src/pro/hitbtc.js +0 -6
  749. package/js/src/pro/hollaex.js +0 -6
  750. package/js/src/pro/htx.js +0 -6
  751. package/js/src/pro/huobi.js +0 -6
  752. package/js/src/pro/hyperliquid.js +0 -6
  753. package/js/src/pro/independentreserve.js +0 -6
  754. package/js/src/pro/kraken.js +0 -6
  755. package/js/src/pro/krakenfutures.js +0 -6
  756. package/js/src/pro/kucoin.d.ts +70 -30
  757. package/js/src/pro/kucoin.js +821 -186
  758. package/js/src/pro/kucoinfutures.d.ts +17 -195
  759. package/js/src/pro/kucoinfutures.js +96 -1268
  760. package/js/src/pro/lbank.js +0 -6
  761. package/js/src/pro/lighter.js +0 -6
  762. package/js/src/pro/luno.js +0 -6
  763. package/js/src/pro/mexc.js +10 -11
  764. package/js/src/pro/modetrade.js +0 -6
  765. package/js/src/pro/myokx.js +0 -6
  766. package/js/src/pro/ndax.js +0 -6
  767. package/js/src/pro/okx.d.ts +1 -0
  768. package/js/src/pro/okx.js +84 -45
  769. package/js/src/pro/okxus.js +0 -6
  770. package/js/src/pro/onetrading.js +0 -6
  771. package/js/src/pro/oxfun.js +0 -6
  772. package/js/src/pro/p2b.js +0 -6
  773. package/js/src/pro/paradex.js +0 -6
  774. package/js/src/pro/phemex.js +0 -6
  775. package/js/src/pro/poloniex.js +0 -6
  776. package/js/src/pro/toobit.js +0 -6
  777. package/js/src/pro/upbit.js +0 -6
  778. package/js/src/pro/whitebit.js +0 -6
  779. package/js/src/pro/woo.js +0 -6
  780. package/js/src/pro/woofipro.js +0 -6
  781. package/js/src/pro/xt.js +0 -6
  782. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  783. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  784. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  785. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  786. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  787. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  788. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  789. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  790. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  791. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  792. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  793. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  794. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  795. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  796. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  797. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  798. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  799. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  800. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  801. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  802. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  803. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  804. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  805. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  806. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  807. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  808. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  809. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  810. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  811. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  812. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  813. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  814. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  815. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  816. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  817. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  818. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  819. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  820. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  821. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  822. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  823. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  824. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  825. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  826. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  827. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  828. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  829. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  830. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  831. package/js/src/static_dependencies/ethers/index.js +0 -6
  832. package/js/src/static_dependencies/ethers/interface.js +0 -6
  833. package/js/src/static_dependencies/ethers/typed.js +0 -6
  834. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  835. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  836. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  837. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  838. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  839. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  840. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  841. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  842. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  843. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  844. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  845. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  846. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  847. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  848. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  849. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  850. package/js/src/static_dependencies/fflake/browser.js +0 -6
  851. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  852. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  853. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  854. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  855. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  856. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  857. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  858. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  859. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  860. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  861. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  862. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  863. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  864. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  865. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  866. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  867. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  868. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  869. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  870. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  871. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  872. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  873. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  874. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  875. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  876. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  877. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  878. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  879. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  880. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  881. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  882. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  883. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  884. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  885. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  886. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  887. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  888. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  889. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  890. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  891. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  892. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  893. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  894. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  895. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  896. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  897. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  898. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  899. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  900. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  901. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  902. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  903. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  904. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  905. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  906. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  907. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  908. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  909. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  910. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  911. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  912. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  913. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  914. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  915. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  916. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  917. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  918. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  919. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  920. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  921. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  922. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  923. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  924. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  925. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  926. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  927. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  928. package/js/src/static_dependencies/qs/formats.js +0 -6
  929. package/js/src/static_dependencies/qs/index.js +0 -6
  930. package/js/src/static_dependencies/qs/parse.js +0 -6
  931. package/js/src/static_dependencies/qs/stringify.js +0 -6
  932. package/js/src/static_dependencies/qs/utils.js +0 -6
  933. package/js/src/static_dependencies/scure-base/index.js +0 -6
  934. package/js/src/static_dependencies/scure-bip32/index.js +0 -6
  935. package/js/src/static_dependencies/scure-bip39/index.js +0 -6
  936. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  937. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  938. package/js/src/static_dependencies/starknet/constants.js +0 -6
  939. package/js/src/static_dependencies/starknet/index.js +0 -6
  940. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  941. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  942. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  943. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  944. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  945. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  946. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  947. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  948. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  949. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  950. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  951. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  952. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  953. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  954. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  955. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  956. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  957. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  958. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  959. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  960. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  961. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  962. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  963. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  964. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  965. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  966. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  967. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  968. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  969. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  970. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  971. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  972. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  973. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  974. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  975. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  976. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  977. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  978. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  979. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  980. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  981. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  982. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  983. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  984. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  985. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  986. package/js/src/tokocrypto.js +0 -6
  987. package/js/src/toobit.js +0 -6
  988. package/js/src/upbit.js +0 -6
  989. package/js/src/wavesexchange.js +0 -6
  990. package/js/src/whitebit.d.ts +21 -1
  991. package/js/src/whitebit.js +62 -7
  992. package/js/src/woo.js +0 -6
  993. package/js/src/woofipro.js +0 -6
  994. package/js/src/xt.js +0 -6
  995. package/js/src/yobit.js +0 -6
  996. package/js/src/zaif.js +0 -6
  997. package/js/src/zebpay.js +0 -6
  998. package/js/src/zonda.js +0 -6
  999. package/package.json +3 -2
  1000. package/postinstall.js +1 -0
  1001. package/dist/cjs/src/abstract/defx.js +0 -11
  1002. package/dist/cjs/src/abstract/timex.js +0 -11
  1003. package/dist/cjs/src/alp.js +0 -1059
  1004. package/dist/cjs/src/defx.js +0 -2142
  1005. package/dist/cjs/src/pro/defx.js +0 -866
  1006. package/dist/cjs/src/timex.js +0 -1794
  1007. package/js/src/abstract/alp.d.ts +0 -21
  1008. package/js/src/abstract/alp.js +0 -11
  1009. package/js/src/abstract/defx.d.ts +0 -72
  1010. package/js/src/abstract/defx.js +0 -11
  1011. package/js/src/abstract/timex.d.ts +0 -65
  1012. package/js/src/abstract/timex.js +0 -11
  1013. package/js/src/alp.d.ts +0 -209
  1014. package/js/src/alp.js +0 -1058
  1015. package/js/src/defx.d.ts +0 -348
  1016. package/js/src/defx.js +0 -2141
  1017. package/js/src/pro/defx.d.ts +0 -236
  1018. package/js/src/pro/defx.js +0 -865
  1019. package/js/src/timex.d.ts +0 -247
  1020. package/js/src/timex.js +0 -1792
package/js/src/timex.js DELETED
@@ -1,1792 +0,0 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
- import Exchange from './abstract/timex.js';
8
- import { ExchangeError, PermissionDenied, ExchangeNotAvailable, InsufficientFunds, OrderNotFound, InvalidOrder, RateLimitExceeded, NotSupported, BadRequest, AuthenticationError, ArgumentsRequired } from './base/errors.js';
9
- import { Precise } from './base/Precise.js';
10
- import { TICK_SIZE } from './base/functions/number.js';
11
- /**
12
- * @class timex
13
- * @augments Exchange
14
- */
15
- export default class timex extends Exchange {
16
- describe() {
17
- return this.deepExtend(super.describe(), {
18
- 'id': 'timex',
19
- 'name': 'TimeX',
20
- 'countries': ['AU'],
21
- 'version': 'v1',
22
- 'rateLimit': 1500,
23
- 'has': {
24
- 'CORS': undefined,
25
- 'spot': true,
26
- 'margin': false,
27
- 'swap': false,
28
- 'future': false,
29
- 'option': false,
30
- 'addMargin': false,
31
- 'borrowCrossMargin': false,
32
- 'borrowIsolatedMargin': false,
33
- 'borrowMargin': false,
34
- 'cancelOrder': true,
35
- 'cancelOrders': true,
36
- 'closeAllPositions': false,
37
- 'closePosition': false,
38
- 'createOrder': true,
39
- 'createReduceOnlyOrder': false,
40
- 'createStopLimitOrder': false,
41
- 'createStopMarketOrder': false,
42
- 'createStopOrder': false,
43
- 'editOrder': true,
44
- 'fetchAllGreeks': false,
45
- 'fetchBalance': true,
46
- 'fetchBorrowInterest': false,
47
- 'fetchBorrowRate': false,
48
- 'fetchBorrowRateHistories': false,
49
- 'fetchBorrowRateHistory': false,
50
- 'fetchBorrowRates': false,
51
- 'fetchBorrowRatesPerSymbol': false,
52
- 'fetchClosedOrders': true,
53
- 'fetchCrossBorrowRate': false,
54
- 'fetchCrossBorrowRates': false,
55
- 'fetchCurrencies': true,
56
- 'fetchDeposit': false,
57
- 'fetchDepositAddress': true,
58
- 'fetchDepositAddresses': false,
59
- 'fetchDepositAddressesByNetwork': false,
60
- 'fetchDeposits': true,
61
- 'fetchFundingHistory': false,
62
- 'fetchFundingInterval': false,
63
- 'fetchFundingIntervals': false,
64
- 'fetchFundingRate': false,
65
- 'fetchFundingRateHistory': false,
66
- 'fetchFundingRates': false,
67
- 'fetchGreeks': false,
68
- 'fetchIndexOHLCV': false,
69
- 'fetchIsolatedBorrowRate': false,
70
- 'fetchIsolatedBorrowRates': false,
71
- 'fetchIsolatedPositions': false,
72
- 'fetchLeverage': false,
73
- 'fetchLeverages': false,
74
- 'fetchLeverageTiers': false,
75
- 'fetchLiquidations': false,
76
- 'fetchLongShortRatio': false,
77
- 'fetchLongShortRatioHistory': false,
78
- 'fetchMarginAdjustmentHistory': false,
79
- 'fetchMarginMode': false,
80
- 'fetchMarginModes': false,
81
- 'fetchMarketLeverageTiers': false,
82
- 'fetchMarkets': true,
83
- 'fetchMarkOHLCV': false,
84
- 'fetchMarkPrice': false,
85
- 'fetchMarkPrices': false,
86
- 'fetchMyLiquidations': false,
87
- 'fetchMySettlementHistory': false,
88
- 'fetchMyTrades': true,
89
- 'fetchOHLCV': true,
90
- 'fetchOpenInterest': false,
91
- 'fetchOpenInterestHistory': false,
92
- 'fetchOpenInterests': false,
93
- 'fetchOpenOrders': true,
94
- 'fetchOption': false,
95
- 'fetchOptionChain': false,
96
- 'fetchOrder': true,
97
- 'fetchOrderBook': true,
98
- 'fetchPosition': false,
99
- 'fetchPositionHistory': false,
100
- 'fetchPositionMode': false,
101
- 'fetchPositions': false,
102
- 'fetchPositionsForSymbol': false,
103
- 'fetchPositionsHistory': false,
104
- 'fetchPositionsRisk': false,
105
- 'fetchPremiumIndexOHLCV': false,
106
- 'fetchSettlementHistory': false,
107
- 'fetchTicker': true,
108
- 'fetchTickers': true,
109
- 'fetchTime': true,
110
- 'fetchTrades': true,
111
- 'fetchTradingFee': true,
112
- 'fetchUnderlyingAssets': false,
113
- 'fetchVolatilityHistory': false,
114
- 'fetchWithdrawal': false,
115
- 'fetchWithdrawals': true,
116
- 'reduceMargin': false,
117
- 'repayCrossMargin': false,
118
- 'repayIsolatedMargin': false,
119
- 'setLeverage': false,
120
- 'setMargin': false,
121
- 'setMarginMode': false,
122
- 'setPositionMode': false,
123
- },
124
- 'timeframes': {
125
- '1m': 'I1',
126
- '5m': 'I5',
127
- '15m': 'I15',
128
- '30m': 'I30',
129
- '1h': 'H1',
130
- '2h': 'H2',
131
- '4h': 'H4',
132
- '6h': 'H6',
133
- '12h': 'H12',
134
- '1d': 'D1',
135
- '1w': 'W1',
136
- },
137
- 'urls': {
138
- 'logo': 'https://user-images.githubusercontent.com/1294454/70423869-6839ab00-1a7f-11ea-8f94-13ae72c31115.jpg',
139
- 'api': {
140
- 'rest': 'https://plasma-relay-backend.timex.io',
141
- },
142
- 'www': 'https://timex.io',
143
- 'doc': 'https://plasma-relay-backend.timex.io/swagger-ui/index.html',
144
- 'referral': 'https://timex.io/?refcode=1x27vNkTbP1uwkCck',
145
- },
146
- 'api': {
147
- 'addressbook': {
148
- 'get': [
149
- 'me',
150
- ],
151
- 'post': [
152
- '',
153
- 'id/{id}',
154
- 'id/{id}/remove',
155
- ],
156
- },
157
- 'custody': {
158
- 'get': [
159
- 'credentials',
160
- 'credentials/h/{hash}',
161
- 'credentials/k/{key}',
162
- 'credentials/me',
163
- 'credentials/me/address',
164
- 'deposit-addresses',
165
- 'deposit-addresses/h/{hash}', // Get deposit address by hash
166
- ],
167
- },
168
- 'history': {
169
- 'get': [
170
- 'orders',
171
- 'orders/details',
172
- 'orders/export/csv',
173
- 'trades',
174
- 'trades/export/csv', // Export trades to csv
175
- ],
176
- },
177
- 'currencies': {
178
- 'get': [
179
- 'a/{address}',
180
- 'i/{id}',
181
- 's/{symbol}', // Gets currency by symbol
182
- ],
183
- 'post': [
184
- 'perform',
185
- 'prepare',
186
- 'remove/perform',
187
- 's/{symbol}/remove/prepare',
188
- 's/{symbol}/update/perform',
189
- 's/{symbol}/update/prepare', // Prepare update currency by symbol
190
- ],
191
- },
192
- 'manager': {
193
- 'get': [
194
- 'deposits',
195
- 'transfers',
196
- 'withdrawals',
197
- ],
198
- },
199
- 'markets': {
200
- 'get': [
201
- 'i/{id}',
202
- 's/{symbol}', // Gets market by symbol
203
- ],
204
- 'post': [
205
- 'perform',
206
- 'prepare',
207
- 'remove/perform',
208
- 's/{symbol}/remove/prepare',
209
- 's/{symbol}/update/perform',
210
- 's/{symbol}/update/prepare', // Prepare update market by symbol
211
- ],
212
- },
213
- 'public': {
214
- 'get': [
215
- 'candles',
216
- 'currencies',
217
- 'markets',
218
- 'orderbook',
219
- 'orderbook/raw',
220
- 'orderbook/v2',
221
- 'tickers',
222
- 'trades', // Gets trades
223
- ],
224
- },
225
- 'statistics': {
226
- 'get': [
227
- 'address', // calculateAddressStatistics
228
- ],
229
- },
230
- 'trading': {
231
- 'get': [
232
- 'balances',
233
- 'fees',
234
- 'orders', // Gets open orders
235
- ],
236
- 'post': [
237
- 'orders',
238
- 'orders/json', // Create orders
239
- ],
240
- 'put': [
241
- 'orders',
242
- 'orders/json', // Update orders
243
- ],
244
- 'delete': [
245
- 'orders',
246
- 'orders/json', // Delete orders
247
- ],
248
- },
249
- 'tradingview': {
250
- 'get': [
251
- 'config',
252
- 'history',
253
- 'symbol_info',
254
- 'time', // Gets time
255
- ],
256
- },
257
- },
258
- 'precisionMode': TICK_SIZE,
259
- 'exceptions': {
260
- 'exact': {
261
- '0': ExchangeError,
262
- '1': NotSupported,
263
- '4000': BadRequest,
264
- '4001': BadRequest,
265
- '4002': InsufficientFunds,
266
- '4003': AuthenticationError,
267
- '4004': AuthenticationError,
268
- '4005': BadRequest,
269
- '4006': BadRequest,
270
- '4007': BadRequest,
271
- '4300': PermissionDenied,
272
- '4100': AuthenticationError,
273
- '4400': OrderNotFound,
274
- '5001': InvalidOrder,
275
- '5002': ExchangeError,
276
- '400': BadRequest,
277
- '401': AuthenticationError,
278
- '403': PermissionDenied,
279
- '404': OrderNotFound,
280
- '429': RateLimitExceeded,
281
- '500': ExchangeError,
282
- '503': ExchangeNotAvailable,
283
- },
284
- 'broad': {
285
- 'Insufficient': InsufficientFunds,
286
- },
287
- },
288
- 'options': {
289
- 'expireIn': 31536000,
290
- 'fetchTickers': {
291
- 'period': '1d',
292
- },
293
- 'fetchTrades': {
294
- 'sort': 'timestamp,asc',
295
- },
296
- 'fetchMyTrades': {
297
- 'sort': 'timestamp,asc',
298
- },
299
- 'fetchOpenOrders': {
300
- 'sort': 'createdAt,asc',
301
- },
302
- 'fetchClosedOrders': {
303
- 'sort': 'createdAt,asc',
304
- },
305
- 'defaultSort': 'timestamp,asc',
306
- 'defaultSortOrders': 'createdAt,asc',
307
- },
308
- 'features': {
309
- 'spot': {
310
- 'sandbox': false,
311
- 'createOrder': {
312
- 'marginMode': false,
313
- 'triggerPrice': false,
314
- 'triggerDirection': false,
315
- 'triggerPriceType': undefined,
316
- 'stopLossPrice': false,
317
- 'takeProfitPrice': false,
318
- 'attachedStopLossTakeProfit': undefined,
319
- // todo
320
- 'timeInForce': {
321
- 'IOC': true,
322
- 'FOK': true,
323
- 'PO': false,
324
- 'GTD': true,
325
- },
326
- 'hedged': false,
327
- 'trailing': false,
328
- 'leverage': false,
329
- 'marketBuyByCost': false,
330
- 'marketBuyRequiresPrice': false,
331
- 'selfTradePrevention': false,
332
- 'iceberg': false,
333
- },
334
- 'createOrders': undefined,
335
- 'fetchMyTrades': {
336
- 'marginMode': false,
337
- 'limit': 100,
338
- 'daysBack': 100000,
339
- 'untilDays': 100000,
340
- 'symbolRequired': false,
341
- },
342
- 'fetchOrder': {
343
- 'marginMode': false,
344
- 'trigger': false,
345
- 'trailing': false,
346
- 'symbolRequired': false,
347
- },
348
- 'fetchOpenOrders': {
349
- 'marginMode': false,
350
- 'limit': 100,
351
- 'trigger': false,
352
- 'trailing': false,
353
- 'symbolRequired': false,
354
- },
355
- 'fetchOrders': undefined,
356
- 'fetchClosedOrders': {
357
- 'marginMode': false,
358
- 'limit': 100,
359
- 'daysBack': 100000,
360
- 'daysBackCanceled': 1,
361
- 'untilDays': 100000,
362
- 'trigger': false,
363
- 'trailing': false,
364
- 'symbolRequired': false,
365
- },
366
- 'fetchOHLCV': {
367
- 'limit': undefined,
368
- },
369
- },
370
- 'swap': {
371
- 'linear': undefined,
372
- 'inverse': undefined,
373
- },
374
- 'future': {
375
- 'linear': undefined,
376
- 'inverse': undefined,
377
- },
378
- },
379
- });
380
- }
381
- /**
382
- * @method
383
- * @name timex#fetchTime
384
- * @description fetches the current integer timestamp in milliseconds from the exchange server
385
- * @param {object} [params] extra parameters specific to the exchange API endpoint
386
- * @returns {int} the current integer timestamp in milliseconds from the exchange server
387
- */
388
- async fetchTime(params = {}) {
389
- const response = await this.tradingviewGetTime(params);
390
- //
391
- // 1708682617
392
- //
393
- return this.parseToInt(response) * 1000;
394
- }
395
- /**
396
- * @method
397
- * @name timex#fetchMarkets
398
- * @description retrieves data on all markets for timex
399
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listMarkets
400
- * @param {object} [params] extra parameters specific to the exchange API endpoint
401
- * @returns {object[]} an array of objects representing market data
402
- */
403
- async fetchMarkets(params = {}) {
404
- const response = await this.publicGetMarkets(params);
405
- //
406
- // [
407
- // {
408
- // "symbol": "ETHBTC",
409
- // "name": "ETH/BTC",
410
- // "baseCurrency": "ETH",
411
- // "baseTokenAddress": "0x45932db54b38af1f5a57136302eeba66a5975c15",
412
- // "quoteCurrency": "BTC",
413
- // "quoteTokenAddress": "0x8370fbc6ddec1e18b4e41e72ed943e238458487c",
414
- // "feeCurrency": "BTC",
415
- // "feeTokenAddress": "0x8370fbc6ddec1e18b4e41e72ed943e238458487c",
416
- // "quantityIncrement": "0.0000001",
417
- // "takerFee": "0.005",
418
- // "makerFee": "0.0025",
419
- // "tickSize": "0.00000001",
420
- // "baseMinSize": "0.0001",
421
- // "quoteMinSize": "0.00001",
422
- // "locked": false
423
- // }
424
- // ]
425
- //
426
- return this.parseMarkets(response);
427
- }
428
- /**
429
- * @method
430
- * @name timex#fetchCurrencies
431
- * @description fetches all available currencies on an exchange
432
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listCurrencies
433
- * @param {object} [params] extra parameters specific to the exchange API endpoint
434
- * @returns {object} an associative dictionary of currencies
435
- */
436
- async fetchCurrencies(params = {}) {
437
- const response = await this.publicGetCurrencies(params);
438
- //
439
- // [
440
- // {
441
- // "symbol": "BTC",
442
- // "name": "Bitcoin",
443
- // "address": "0x8370fbc6ddec1e18b4e41e72ed943e238458487c",
444
- // "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC41IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMwIDUzQzQyLjcwMjUgNTMgNTMgNDIuNzAyNSA1MyAzMEM1MyAxNy4yOTc1IDQyLjcwMjUgNyAzMCA3QzE3LjI5NzUgNyA3IDE3LjI5NzUgNyAzMEM3IDQyLjcwMjUgMTcuMjk3NSA1MyAzMCA1M1pNMzAgNTVDNDMuODA3MSA1NSA1NSA0My44MDcxIDU1IDMwQzU1IDE2LjE5MjkgNDMuODA3MSA1IDMwIDVDMTYuMTkyOSA1IDUgMTYuMTkyOSA1IDMwQzUgNDMuODA3MSAxNi4xOTI5IDU1IDMwIDU1WiIvPgo8cGF0aCBkPSJNNDAuOTQyNSAyNi42NTg1QzQxLjQwMDMgMjMuNjExMyAzOS4wNzA1IDIxLjk3MzIgMzUuODg0OCAyMC44ODA0TDM2LjkxODIgMTYuNzUyNkwzNC4zOTUxIDE2LjEyNjRMMzMuMzg5IDIwLjE0NTVDMzIuNzI1OCAxOS45ODA5IDMyLjA0NDUgMTkuODI1NiAzMS4zNjc1IDE5LjY3MTdMMzIuMzgwOCAxNS42MjYyTDI5Ljg1OTEgMTVMMjguODI1IDE5LjEyNjRDMjguMjc2IDE5LjAwMTkgMjcuNzM3IDE4Ljg3ODggMjcuMjEzOSAxOC43NDkzTDI3LjIxNjggMTguNzM2NEwyMy43MzcyIDE3Ljg3MTJMMjMuMDY2IDIwLjU1NDhDMjMuMDY2IDIwLjU1NDggMjQuOTM4IDIwLjk4MjEgMjQuODk4NSAyMS4wMDg1QzI1LjkyMDQgMjEuMjYyNiAyNi4xMDUgMjEuOTM2IDI2LjA3NDEgMjIuNDY5OUwyNC44OTcgMjcuMTcyNEMyNC45Njc1IDI3LjE5MDMgMjUuMDU4NyAyNy4yMTYgMjUuMTU5MyAyNy4yNTYxQzI1LjA3NTMgMjcuMjM1NCAyNC45ODU0IDI3LjIxMjQgMjQuODkyNyAyNy4xOTAzTDIzLjI0MjggMzMuNzc3OEMyMy4xMTc3IDM0LjA4NjkgMjIuODAwOCAzNC41NTA2IDIyLjA4NjUgMzQuMzc0NkMyMi4xMTE3IDM0LjQxMTEgMjAuMjUyNiAzMy45MTg3IDIwLjI1MjYgMzMuOTE4N0wxOSAzNi43OTQ5TDIyLjI4MzQgMzcuNjFDMjIuODk0MiAzNy43NjI0IDIzLjQ5MjggMzcuOTIyIDI0LjA4MjEgMzguMDcyM0wyMy4wMzggNDIuMjQ3NEwyNS41NTgyIDQyLjg3MzZMMjYuNTkyMyAzOC43NDI5QzI3LjI4MDcgMzguOTI5IDI3Ljk0OSAzOS4xMDA3IDI4LjYwMyAzOS4yNjI0TDI3LjU3MjUgNDMuMzczOEwzMC4wOTU2IDQ0TDMxLjEzOTcgMzkuODMyOEMzNS40NDIyIDQwLjY0MzYgMzguNjc3NCA0MC4zMTY2IDQwLjAzOTIgMzYuNDQxNEM0MS4xMzY1IDMzLjMyMTIgMzkuOTg0NiAzMS41MjEzIDM3LjcyMDkgMzAuMzQ3N0MzOS4zNjk0IDI5Ljk2OTEgNDAuNjExMiAyOC44ODkyIDQwLjk0MjUgMjYuNjU4NVYyNi42NTg1Wk0zNS4xNzc3IDM0LjcwODhDMzQuMzk4IDM3LjgyOSAyOS4xMjI2IDM2LjE0MjIgMjcuNDEyMiAzNS43MTkzTDI4Ljc5NzcgMzAuMTg4MUMzMC41MDgxIDMwLjYxMzIgMzUuOTkyNiAzMS40NTQ4IDM1LjE3NzcgMzQuNzA4OFpNMzUuOTU4MSAyNi42MTM0QzM1LjI0NjcgMjkuNDUxNyAzMC44NTU5IDI4LjAwOTcgMjkuNDMxNiAyNy42NTYxTDMwLjY4NzcgMjIuNjM5NUMzMi4xMTIgMjIuOTkzIDM2LjY5OSAyMy42NTI4IDM1Ljk1ODEgMjYuNjEzNFoiLz4KPC9zdmc+Cg==",
445
- // "background": "transparent",
446
- // "fiatSymbol": "BTC",
447
- // "decimals": 8,
448
- // "tradeDecimals": 20,
449
- // "displayDecimals": 4,
450
- // "crypto": true,
451
- // "depositEnabled": true,
452
- // "withdrawalEnabled": true,
453
- // "transferEnabled": true,
454
- // "buyEnabled": false,
455
- // "purchaseEnabled": false,
456
- // "redeemEnabled": false,
457
- // "active": true,
458
- // "withdrawalFee": "50000000000000000",
459
- // "purchaseCommissions": []
460
- // },
461
- // ]
462
- //
463
- return this.parseCurrencies(response);
464
- }
465
- /**
466
- * @method
467
- * @name timex#fetchDeposits
468
- * @description fetch all deposits made to an account
469
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Manager/getDeposits
470
- * @param {string} code unified currency code
471
- * @param {int} [since] the earliest time in ms to fetch deposits for
472
- * @param {int} [limit] the maximum number of deposits structures to retrieve
473
- * @param {object} [params] extra parameters specific to the exchange API endpoint
474
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/?id=transaction-structure}
475
- */
476
- async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
477
- const address = this.safeString(params, 'address');
478
- params = this.omit(params, 'address');
479
- if (address === undefined) {
480
- throw new ArgumentsRequired(this.id + ' fetchDeposits() requires an address parameter');
481
- }
482
- const request = {
483
- 'address': address,
484
- };
485
- const response = await this.managerGetDeposits(this.extend(request, params));
486
- //
487
- // [
488
- // {
489
- // "from": "0x1134cc86b45039cc211c6d1d2e4b3c77f60207ed",
490
- // "timestamp": "2022-01-01T00:00:00Z",
491
- // "to": "0x1134cc86b45039cc211c6d1d2e4b3c77f60207ed",
492
- // "token": "0x6baad3fe5d0fd4be604420e728adbd68d67e119e",
493
- // "transferHash": "0x5464cdff35448314e178b8677ea41e670ea0f2533f4e52bfbd4e4a6cfcdef4c2",
494
- // "value": "100"
495
- // }
496
- // ]
497
- //
498
- const currency = this.safeCurrency(code);
499
- return this.parseTransactions(response, currency, since, limit);
500
- }
501
- /**
502
- * @method
503
- * @name timex#fetchWithdrawals
504
- * @description fetch all withdrawals made to an account
505
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Manager/getWithdraws
506
- * @param {string} code unified currency code
507
- * @param {int} [since] the earliest time in ms to fetch withdrawals for
508
- * @param {int} [limit] the maximum number of transaction structures to retrieve
509
- * @param {object} [params] extra parameters specific to the exchange API endpoint
510
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/?id=transaction-structure}
511
- */
512
- async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
513
- const address = this.safeString(params, 'address');
514
- params = this.omit(params, 'address');
515
- if (address === undefined) {
516
- throw new ArgumentsRequired(this.id + ' fetchDeposits() requires an address parameter');
517
- }
518
- const request = {
519
- 'address': address,
520
- };
521
- const response = await this.managerGetWithdrawals(this.extend(request, params));
522
- //
523
- // [
524
- // {
525
- // "from": "0x1134cc86b45039cc211c6d1d2e4b3c77f60207ed",
526
- // "timestamp": "2022-01-01T00:00:00Z",
527
- // "to": "0x1134cc86b45039cc211c6d1d2e4b3c77f60207ed",
528
- // "token": "0x6baad3fe5d0fd4be604420e728adbd68d67e119e",
529
- // "transferHash": "0x5464cdff35448314e178b8677ea41e670ea0f2533f4e52bfbd4e4a6cfcdef4c2",
530
- // "value": "100"
531
- // }
532
- // ]
533
- //
534
- const currency = this.safeCurrency(code);
535
- return this.parseTransactions(response, currency, since, limit);
536
- }
537
- getCurrencyByAddress(address) {
538
- const currencies = this.currencies;
539
- for (let i = 0; i < currencies.length; i++) {
540
- const currency = currencies[i];
541
- const info = this.safeValue(currency, 'info', {});
542
- const a = this.safeString(info, 'address');
543
- if (a === address) {
544
- return currency;
545
- }
546
- }
547
- return undefined;
548
- }
549
- parseTransaction(transaction, currency = undefined) {
550
- //
551
- // {
552
- // "from": "0x1134cc86b45039cc211c6d1d2e4b3c77f60207ed",
553
- // "timestamp": "2022-01-01T00:00:00Z",
554
- // "to": "0x1134cc86b45039cc211c6d1d2e4b3c77f60207ed",
555
- // "token": "0x6baad3fe5d0fd4be604420e728adbd68d67e119e",
556
- // "transferHash": "0x5464cdff35448314e178b8677ea41e670ea0f2533f4e52bfbd4e4a6cfcdef4c2",
557
- // "value": "100"
558
- // }
559
- //
560
- const datetime = this.safeString(transaction, 'timestamp');
561
- const currencyAddresss = this.safeString(transaction, 'token', '');
562
- currency = this.getCurrencyByAddress(currencyAddresss);
563
- return {
564
- 'info': transaction,
565
- 'id': this.safeString(transaction, 'transferHash'),
566
- 'txid': this.safeString(transaction, 'txid'),
567
- 'timestamp': this.parse8601(datetime),
568
- 'datetime': datetime,
569
- 'network': undefined,
570
- 'address': undefined,
571
- 'addressTo': this.safeString(transaction, 'to'),
572
- 'addressFrom': this.safeString(transaction, 'from'),
573
- 'tag': undefined,
574
- 'tagTo': undefined,
575
- 'tagFrom': undefined,
576
- 'type': undefined,
577
- 'amount': this.safeNumber(transaction, 'value'),
578
- 'currency': this.safeCurrencyCode(undefined, currency),
579
- 'status': 'ok',
580
- 'updated': undefined,
581
- 'internal': undefined,
582
- 'comment': undefined,
583
- 'fee': undefined,
584
- };
585
- }
586
- /**
587
- * @method
588
- * @name timex#fetchTickers
589
- * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
590
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listTickers
591
- * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
592
- * @param {object} [params] extra parameters specific to the exchange API endpoint
593
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/?id=ticker-structure}
594
- */
595
- async fetchTickers(symbols = undefined, params = {}) {
596
- await this.loadMarkets();
597
- const period = this.safeString(this.options['fetchTickers'], 'period', '1d');
598
- const request = {
599
- 'period': this.timeframes[period], // I1, I5, I15, I30, H1, H2, H4, H6, H12, D1, W1
600
- };
601
- const response = await this.publicGetTickers(this.extend(request, params));
602
- //
603
- // [
604
- // {
605
- // "ask": 0.017,
606
- // "bid": 0.016,
607
- // "high": 0.019,
608
- // "last": 0.017,
609
- // "low": 0.015,
610
- // "market": "TIME/ETH",
611
- // "open": 0.016,
612
- // "period": "H1",
613
- // "timestamp": "2018-12-14T20:50:36.134Z",
614
- // "volume": 4.57,
615
- // "volumeQuote": 0.07312
616
- // }
617
- // ]
618
- //
619
- return this.parseTickers(response, symbols);
620
- }
621
- /**
622
- * @method
623
- * @name timex#fetchTicker
624
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
625
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listTickers
626
- * @param {string} symbol unified symbol of the market to fetch the ticker for
627
- * @param {object} [params] extra parameters specific to the exchange API endpoint
628
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
629
- */
630
- async fetchTicker(symbol, params = {}) {
631
- await this.loadMarkets();
632
- const market = this.market(symbol);
633
- const period = this.safeString(this.options['fetchTickers'], 'period', '1d');
634
- const request = {
635
- 'market': market['id'],
636
- 'period': this.timeframes[period], // I1, I5, I15, I30, H1, H2, H4, H6, H12, D1, W1
637
- };
638
- const response = await this.publicGetTickers(this.extend(request, params));
639
- //
640
- // [
641
- // {
642
- // "ask": 0.017,
643
- // "bid": 0.016,
644
- // "high": 0.019,
645
- // "last": 0.017,
646
- // "low": 0.015,
647
- // "market": "TIME/ETH",
648
- // "open": 0.016,
649
- // "period": "H1",
650
- // "timestamp": "2018-12-14T20:50:36.134Z",
651
- // "volume": 4.57,
652
- // "volumeQuote": 0.07312
653
- // }
654
- // ]
655
- //
656
- const ticker = this.safeDict(response, 0);
657
- return this.parseTicker(ticker, market);
658
- }
659
- /**
660
- * @method
661
- * @name timex#fetchOrderBook
662
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
663
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/orderbookV2
664
- * @param {string} symbol unified symbol of the market to fetch the order book for
665
- * @param {int} [limit] the maximum amount of order book entries to return
666
- * @param {object} [params] extra parameters specific to the exchange API endpoint
667
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbols
668
- */
669
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
670
- await this.loadMarkets();
671
- const market = this.market(symbol);
672
- const request = {
673
- 'market': market['id'],
674
- };
675
- if (limit !== undefined) {
676
- request['limit'] = limit;
677
- }
678
- const response = await this.publicGetOrderbookV2(this.extend(request, params));
679
- //
680
- // {
681
- // "timestamp":"2019-12-05T00:21:09.538",
682
- // "bid":[
683
- // {
684
- // "index":"2",
685
- // "price":"0.02024007",
686
- // "baseTokenAmount":"0.0096894",
687
- // "baseTokenCumulativeAmount":"0.0096894",
688
- // "quoteTokenAmount":"0.000196114134258",
689
- // "quoteTokenCumulativeAmount":"0.000196114134258"
690
- // },
691
- // "ask":[
692
- // {
693
- // "index":"-3",
694
- // "price":"0.02024012",
695
- // "baseTokenAmount":"0.005",
696
- // "baseTokenCumulativeAmount":"0.005",
697
- // "quoteTokenAmount":"0.0001012006",
698
- // "quoteTokenCumulativeAmount":"0.0001012006"
699
- // },
700
- // ]
701
- // }
702
- //
703
- const timestamp = this.parse8601(this.safeString(response, 'timestamp'));
704
- return this.parseOrderBook(response, symbol, timestamp, 'bid', 'ask', 'price', 'baseTokenAmount');
705
- }
706
- /**
707
- * @method
708
- * @name timex#fetchTrades
709
- * @description get the list of most recent trades for a particular symbol
710
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listTrades
711
- * @param {string} symbol unified symbol of the market to fetch trades for
712
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
713
- * @param {int} [limit] the maximum amount of trades to fetch
714
- * @param {object} [params] extra parameters specific to the exchange API endpoint
715
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
716
- */
717
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
718
- await this.loadMarkets();
719
- const market = this.market(symbol);
720
- const options = this.safeValue(this.options, 'fetchTrades', {});
721
- const defaultSort = this.safeValue(options, 'sort', 'timestamp,asc');
722
- const sort = this.safeString(params, 'sort', defaultSort);
723
- const query = this.omit(params, 'sort');
724
- const request = {
725
- // 'address': 'string', // trade’s member account (?)
726
- // 'cursor': 1234, // int64 (?)
727
- // 'from': this.iso8601 (since),
728
- 'market': market['id'],
729
- // 'page': 0, // results page you want to retrieve 0 .. N
730
- // 'size': limit, // number of records per page, 100 by default
731
- 'sort': sort, // array[string], sorting criteria in the format "property,asc" or "property,desc", default is ascending
732
- // 'till': this.iso8601 (this.milliseconds ()),
733
- };
734
- if (since !== undefined) {
735
- request['from'] = this.iso8601(since);
736
- }
737
- if (limit !== undefined) {
738
- request['size'] = limit; // default is 100
739
- }
740
- const response = await this.publicGetTrades(this.extend(request, query));
741
- //
742
- // [
743
- // {
744
- // "id":1,
745
- // "timestamp":"2019-06-25T17:01:50.309",
746
- // "direction":"BUY",
747
- // "price":"0.027",
748
- // "quantity":"0.001"
749
- // }
750
- // ]
751
- //
752
- return this.parseTrades(response, market, since, limit);
753
- }
754
- /**
755
- * @method
756
- * @name timex#fetchOHLCV
757
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
758
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Public/listCandles
759
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
760
- * @param {string} timeframe the length of time each candle represents
761
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
762
- * @param {int} [limit] the maximum amount of candles to fetch
763
- * @param {object} [params] extra parameters specific to the exchange API endpoint
764
- * @param {int} [params.until] timestamp in ms of the latest candle to fetch
765
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
766
- */
767
- async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
768
- await this.loadMarkets();
769
- const market = this.market(symbol);
770
- const request = {
771
- 'market': market['id'],
772
- 'period': this.safeString(this.timeframes, timeframe, timeframe),
773
- };
774
- // if since and limit are not specified
775
- const duration = this.parseTimeframe(timeframe);
776
- const until = this.safeInteger(params, 'until');
777
- if (limit === undefined) {
778
- limit = 1000; // exchange provides tens of thousands of data, but we set generous default value
779
- }
780
- if (since !== undefined) {
781
- request['from'] = this.iso8601(since);
782
- if (until === undefined) {
783
- request['till'] = this.iso8601(this.sum(since, this.sum(limit, 1) * duration * 1000));
784
- }
785
- else {
786
- request['till'] = this.iso8601(until);
787
- }
788
- }
789
- else if (until !== undefined) {
790
- request['till'] = this.iso8601(until);
791
- const fromTimestamp = until - this.sum(limit, 1) * duration * 1000;
792
- request['from'] = this.iso8601(fromTimestamp);
793
- }
794
- else {
795
- const now = this.milliseconds();
796
- request['till'] = this.iso8601(now);
797
- request['from'] = this.iso8601(now - this.sum(limit, 1) * duration * 1000 - 1);
798
- }
799
- params = this.omit(params, 'until');
800
- const response = await this.publicGetCandles(this.extend(request, params));
801
- //
802
- // [
803
- // {
804
- // "timestamp":"2019-12-04T23:00:00",
805
- // "open":"0.02024009",
806
- // "high":"0.02024009",
807
- // "low":"0.02024009",
808
- // "close":"0.02024009",
809
- // "volume":"0.00008096036",
810
- // "volumeQuote":"0.004",
811
- // },
812
- // ]
813
- //
814
- return this.parseOHLCVs(response, market, timeframe, since, limit);
815
- }
816
- parseBalance(response) {
817
- const result = {
818
- 'info': response,
819
- 'timestamp': undefined,
820
- 'datetime': undefined,
821
- };
822
- for (let i = 0; i < response.length; i++) {
823
- const balance = response[i];
824
- const currencyId = this.safeString(balance, 'currency');
825
- const code = this.safeCurrencyCode(currencyId);
826
- const account = this.account();
827
- account['total'] = this.safeString(balance, 'totalBalance');
828
- account['used'] = this.safeString(balance, 'lockedBalance');
829
- result[code] = account;
830
- }
831
- return this.safeBalance(result);
832
- }
833
- /**
834
- * @method
835
- * @name timex#fetchBalance
836
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
837
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/getBalances
838
- * @param {object} [params] extra parameters specific to the exchange API endpoint
839
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
840
- */
841
- async fetchBalance(params = {}) {
842
- await this.loadMarkets();
843
- const response = await this.tradingGetBalances(params);
844
- //
845
- // [
846
- // {"currency":"BTC","totalBalance":"0","lockedBalance":"0"},
847
- // {"currency":"AUDT","totalBalance":"0","lockedBalance":"0"},
848
- // {"currency":"ETH","totalBalance":"0","lockedBalance":"0"},
849
- // {"currency":"TIME","totalBalance":"0","lockedBalance":"0"},
850
- // {"currency":"USDT","totalBalance":"0","lockedBalance":"0"}
851
- // ]
852
- //
853
- return this.parseBalance(response);
854
- }
855
- /**
856
- * @method
857
- * @name timex#createOrder
858
- * @description create a trade order
859
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/createOrder
860
- * @param {string} symbol unified symbol of the market to create an order in
861
- * @param {string} type 'market' or 'limit'
862
- * @param {string} side 'buy' or 'sell'
863
- * @param {float} amount how much of currency you want to trade in units of base currency
864
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
865
- * @param {object} [params] extra parameters specific to the exchange API endpoint
866
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
867
- */
868
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
869
- await this.loadMarkets();
870
- const market = this.market(symbol);
871
- const uppercaseSide = side.toUpperCase();
872
- let uppercaseType = type.toUpperCase();
873
- const postOnly = this.safeBool(params, 'postOnly', false);
874
- if (postOnly) {
875
- uppercaseType = 'POST_ONLY';
876
- params = this.omit(params, ['postOnly']);
877
- }
878
- const request = {
879
- 'symbol': market['id'],
880
- 'quantity': this.amountToPrecision(symbol, amount),
881
- 'side': uppercaseSide,
882
- 'orderTypes': uppercaseType,
883
- // 'clientOrderId': '123',
884
- // 'expireIn': 1575523308, // in seconds
885
- // 'expireTime': 1575523308, // unix timestamp
886
- };
887
- let query = params;
888
- if ((uppercaseType === 'LIMIT') || (uppercaseType === 'POST_ONLY')) {
889
- request['price'] = this.priceToPrecision(symbol, price);
890
- const defaultExpireIn = this.safeInteger(this.options, 'expireIn');
891
- const expireTime = this.safeValue(params, 'expireTime');
892
- const expireIn = this.safeValue(params, 'expireIn', defaultExpireIn);
893
- if (expireTime !== undefined) {
894
- request['expireTime'] = expireTime;
895
- }
896
- else if (expireIn !== undefined) {
897
- request['expireIn'] = expireIn;
898
- }
899
- else {
900
- throw new InvalidOrder(this.id + ' createOrder() method requires a expireTime or expireIn param for a ' + type + ' order, you can also set the expireIn exchange-wide option');
901
- }
902
- query = this.omit(params, ['expireTime', 'expireIn']);
903
- }
904
- else {
905
- request['price'] = 0;
906
- }
907
- const response = await this.tradingPostOrders(this.extend(request, query));
908
- //
909
- // {
910
- // "orders": [
911
- // {
912
- // "cancelledQuantity": "0.3",
913
- // "clientOrderId": "my-order-1",
914
- // "createdAt": "1970-01-01T00:00:00",
915
- // "cursorId": 50,
916
- // "expireTime": "1970-01-01T00:00:00",
917
- // "filledQuantity": "0.3",
918
- // "id": "string",
919
- // "price": "0.017",
920
- // "quantity": "0.3",
921
- // "side": "BUY",
922
- // "symbol": "TIMEETH",
923
- // "type": "LIMIT",
924
- // "updatedAt": "1970-01-01T00:00:00"
925
- // }
926
- // ]
927
- // }
928
- //
929
- const orders = this.safeValue(response, 'orders', []);
930
- const order = this.safeDict(orders, 0, {});
931
- return this.parseOrder(order, market);
932
- }
933
- async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
934
- await this.loadMarkets();
935
- const market = this.market(symbol);
936
- const request = {
937
- 'id': id,
938
- };
939
- if (amount !== undefined) {
940
- request['quantity'] = this.amountToPrecision(symbol, amount);
941
- }
942
- if (price !== undefined) {
943
- request['price'] = this.priceToPrecision(symbol, price);
944
- }
945
- const response = await this.tradingPutOrders(this.extend(request, params));
946
- //
947
- // {
948
- // "changedOrders": [
949
- // {
950
- // "newOrder": {
951
- // "cancelledQuantity": "0.3",
952
- // "clientOrderId": "my-order-1",
953
- // "createdAt": "1970-01-01T00:00:00",
954
- // "cursorId": 50,
955
- // "expireTime": "1970-01-01T00:00:00",
956
- // "filledQuantity": "0.3",
957
- // "id": "string",
958
- // "price": "0.017",
959
- // "quantity": "0.3",
960
- // "side": "BUY",
961
- // "symbol": "TIMEETH",
962
- // "type": "LIMIT",
963
- // "updatedAt": "1970-01-01T00:00:00"
964
- // },
965
- // "oldId": "string",
966
- // },
967
- // ],
968
- // "unchangedOrders": [ "string" ],
969
- // }
970
- //
971
- if ('unchangedOrders' in response) {
972
- const orderIds = this.safeValue(response, 'unchangedOrders', []);
973
- const orderId = this.safeString(orderIds, 0);
974
- return this.safeOrder({
975
- 'id': orderId,
976
- 'info': response,
977
- });
978
- }
979
- const orders = this.safeValue(response, 'changedOrders', []);
980
- const firstOrder = this.safeValue(orders, 0, {});
981
- const order = this.safeDict(firstOrder, 'newOrder', {});
982
- return this.parseOrder(order, market);
983
- }
984
- /**
985
- * @method
986
- * @name timex#cancelOrder
987
- * @description cancels an open order
988
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/deleteOrders
989
- * @param {string} id order id
990
- * @param {string} symbol not used by timex cancelOrder ()
991
- * @param {object} [params] extra parameters specific to the exchange API endpoint
992
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
993
- */
994
- async cancelOrder(id, symbol = undefined, params = {}) {
995
- await this.loadMarkets();
996
- const orders = await this.cancelOrders([id], symbol, params);
997
- return this.safeDict(orders, 0);
998
- }
999
- /**
1000
- * @method
1001
- * @name timex#cancelOrders
1002
- * @description cancel multiple orders
1003
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/deleteOrders
1004
- * @param {string[]} ids order ids
1005
- * @param {string} symbol unified market symbol, default is undefined
1006
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1007
- * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
1008
- */
1009
- async cancelOrders(ids, symbol = undefined, params = {}) {
1010
- await this.loadMarkets();
1011
- const request = {
1012
- 'id': ids,
1013
- };
1014
- const response = await this.tradingDeleteOrders(this.extend(request, params));
1015
- //
1016
- // {
1017
- // "changedOrders": [
1018
- // {
1019
- // "newOrder": {
1020
- // "cancelledQuantity": "0.3",
1021
- // "clientOrderId": "my-order-1",
1022
- // "createdAt": "1970-01-01T00:00:00",
1023
- // "cursorId": 50,
1024
- // "expireTime": "1970-01-01T00:00:00",
1025
- // "filledQuantity": "0.3",
1026
- // "id": "string",
1027
- // "price": "0.017",
1028
- // "quantity": "0.3",
1029
- // "side": "BUY",
1030
- // "symbol": "TIMEETH",
1031
- // "type": "LIMIT",
1032
- // "updatedAt": "1970-01-01T00:00:00"
1033
- // },
1034
- // "oldId": "string",
1035
- // },
1036
- // ],
1037
- // "unchangedOrders": [ "string" ],
1038
- // }
1039
- //
1040
- const changedOrders = this.safeList(response, 'changedOrders', []);
1041
- const unchangedOrders = this.safeList(response, 'unchangedOrders', []);
1042
- const orders = [];
1043
- for (let i = 0; i < changedOrders.length; i++) {
1044
- const newOrder = this.safeDict(changedOrders[i], 'newOrder');
1045
- orders.push(this.parseOrder(newOrder));
1046
- }
1047
- for (let i = 0; i < unchangedOrders.length; i++) {
1048
- orders.push(this.safeOrder({
1049
- 'info': unchangedOrders[i],
1050
- 'id': unchangedOrders[i],
1051
- 'status': 'unchanged',
1052
- }));
1053
- }
1054
- return orders;
1055
- }
1056
- /**
1057
- * @method
1058
- * @name timex#fetchOrder
1059
- * @description fetches information on an order made by the user
1060
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/History/getOrderDetails
1061
- * @param {string} id order id
1062
- * @param {string} symbol not used by timex fetchOrder
1063
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1064
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
1065
- */
1066
- async fetchOrder(id, symbol = undefined, params = {}) {
1067
- await this.loadMarkets();
1068
- const request = {
1069
- 'orderHash': id,
1070
- };
1071
- const response = await this.historyGetOrdersDetails(request);
1072
- //
1073
- // {
1074
- // "order": {
1075
- // "cancelledQuantity": "0.3",
1076
- // "clientOrderId": "my-order-1",
1077
- // "createdAt": "1970-01-01T00:00:00",
1078
- // "cursorId": 50,
1079
- // "expireTime": "1970-01-01T00:00:00",
1080
- // "filledQuantity": "0.3",
1081
- // "id": "string",
1082
- // "price": "0.017",
1083
- // "quantity": "0.3",
1084
- // "side": "BUY",
1085
- // "symbol": "TIMEETH",
1086
- // "type": "LIMIT",
1087
- // "updatedAt": "1970-01-01T00:00:00"
1088
- // },
1089
- // "trades": [
1090
- // {
1091
- // "fee": "0.3",
1092
- // "id": 100,
1093
- // "makerOrTaker": "MAKER",
1094
- // "makerOrderId": "string",
1095
- // "price": "0.017",
1096
- // "quantity": "0.3",
1097
- // "side": "BUY",
1098
- // "symbol": "TIMEETH",
1099
- // "takerOrderId": "string",
1100
- // "timestamp": "2019-12-05T07:48:26.310Z"
1101
- // }
1102
- // ]
1103
- // }
1104
- //
1105
- const order = this.safeValue(response, 'order', {});
1106
- const trades = this.safeList(response, 'trades', []);
1107
- return this.parseOrder(this.extend(order, { 'trades': trades }));
1108
- }
1109
- /**
1110
- * @method
1111
- * @name timex#fetchOpenOrders
1112
- * @description fetch all unfilled currently open orders
1113
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/getOpenOrders
1114
- * @param {string} symbol unified market symbol
1115
- * @param {int} [since] the earliest time in ms to fetch open orders for
1116
- * @param {int} [limit] the maximum number of open orders structures to retrieve
1117
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1118
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
1119
- */
1120
- async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1121
- await this.loadMarkets();
1122
- const options = this.safeValue(this.options, 'fetchOpenOrders', {});
1123
- const defaultSort = this.safeValue(options, 'sort', 'createdAt,asc');
1124
- const sort = this.safeString(params, 'sort', defaultSort);
1125
- const query = this.omit(params, 'sort');
1126
- const request = {
1127
- // 'clientOrderId': '123', // order’s client id list for filter
1128
- // page: 0, // results page you want to retrieve (0 .. N)
1129
- 'sort': sort, // sorting criteria in the format "property,asc" or "property,desc", default order is ascending, multiple sort criteria are supported
1130
- };
1131
- let market = undefined;
1132
- if (symbol !== undefined) {
1133
- market = this.market(symbol);
1134
- request['symbol'] = market['id'];
1135
- }
1136
- if (limit !== undefined) {
1137
- request['size'] = limit;
1138
- }
1139
- const response = await this.tradingGetOrders(this.extend(request, query));
1140
- //
1141
- // {
1142
- // "orders": [
1143
- // {
1144
- // "cancelledQuantity": "0.3",
1145
- // "clientOrderId": "my-order-1",
1146
- // "createdAt": "1970-01-01T00:00:00",
1147
- // "cursorId": 50,
1148
- // "expireTime": "1970-01-01T00:00:00",
1149
- // "filledQuantity": "0.3",
1150
- // "id": "string",
1151
- // "price": "0.017",
1152
- // "quantity": "0.3",
1153
- // "side": "BUY",
1154
- // "symbol": "TIMEETH",
1155
- // "type": "LIMIT",
1156
- // "updatedAt": "1970-01-01T00:00:00"
1157
- // }
1158
- // ]
1159
- // }
1160
- //
1161
- const orders = this.safeList(response, 'orders', []);
1162
- return this.parseOrders(orders, market, since, limit);
1163
- }
1164
- /**
1165
- * @method
1166
- * @name timex#fetchClosedOrders
1167
- * @description fetches information on multiple closed orders made by the user
1168
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/History/getOrders
1169
- * @param {string} symbol unified market symbol of the market orders were made in
1170
- * @param {int} [since] the earliest time in ms to fetch orders for
1171
- * @param {int} [limit] the maximum number of order structures to retrieve
1172
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1173
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
1174
- */
1175
- async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1176
- await this.loadMarkets();
1177
- const options = this.safeValue(this.options, 'fetchClosedOrders', {});
1178
- const defaultSort = this.safeValue(options, 'sort', 'createdAt,asc');
1179
- const sort = this.safeString(params, 'sort', defaultSort);
1180
- const query = this.omit(params, 'sort');
1181
- const request = {
1182
- // 'clientOrderId': '123', // order’s client id list for filter
1183
- // page: 0, // results page you want to retrieve (0 .. N)
1184
- 'sort': sort,
1185
- 'side': 'BUY', // or 'SELL'
1186
- // 'till': this.iso8601 (this.milliseconds ()),
1187
- };
1188
- let market = undefined;
1189
- if (symbol !== undefined) {
1190
- market = this.market(symbol);
1191
- request['symbol'] = market['id'];
1192
- }
1193
- if (since !== undefined) {
1194
- request['from'] = this.iso8601(since);
1195
- }
1196
- if (limit !== undefined) {
1197
- request['size'] = limit;
1198
- }
1199
- const response = await this.historyGetOrders(this.extend(request, query));
1200
- //
1201
- // {
1202
- // "orders": [
1203
- // {
1204
- // "cancelledQuantity": "0.3",
1205
- // "clientOrderId": "my-order-1",
1206
- // "createdAt": "1970-01-01T00:00:00",
1207
- // "cursorId": 50,
1208
- // "expireTime": "1970-01-01T00:00:00",
1209
- // "filledQuantity": "0.3",
1210
- // "id": "string",
1211
- // "price": "0.017",
1212
- // "quantity": "0.3",
1213
- // "side": "BUY",
1214
- // "symbol": "TIMEETH",
1215
- // "type": "LIMIT",
1216
- // "updatedAt": "1970-01-01T00:00:00"
1217
- // }
1218
- // ]
1219
- // }
1220
- //
1221
- const orders = this.safeList(response, 'orders', []);
1222
- return this.parseOrders(orders, market, since, limit);
1223
- }
1224
- /**
1225
- * @method
1226
- * @name timex#fetchMyTrades
1227
- * @description fetch all trades made by the user
1228
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/History/getTrades_1
1229
- * @param {string} symbol unified market symbol
1230
- * @param {int} [since] the earliest time in ms to fetch trades for
1231
- * @param {int} [limit] the maximum number of trades structures to retrieve
1232
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1233
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
1234
- */
1235
- async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1236
- await this.loadMarkets();
1237
- const options = this.safeValue(this.options, 'fetchMyTrades', {});
1238
- const defaultSort = this.safeValue(options, 'sort', 'timestamp,asc');
1239
- const sort = this.safeString(params, 'sort', defaultSort);
1240
- const query = this.omit(params, 'sort');
1241
- const request = {
1242
- // 'cursorId': 123, // int64 (?)
1243
- // 'from': this.iso8601 (since),
1244
- // 'makerOrderId': '1234', // maker order hash
1245
- // 'owner': '...', // owner address (?)
1246
- // 'page': 0, // results page you want to retrieve (0 .. N)
1247
- // 'side': 'BUY', // or 'SELL'
1248
- // 'size': limit,
1249
- 'sort': sort, // sorting criteria in the format "property,asc" or "property,desc", default order is ascending, multiple sort criteria are supported
1250
- // 'symbol': market['id'],
1251
- // 'takerOrderId': '1234',
1252
- // 'till': this.iso8601 (this.milliseconds ()),
1253
- };
1254
- let market = undefined;
1255
- if (symbol !== undefined) {
1256
- market = this.market(symbol);
1257
- request['symbol'] = market['id'];
1258
- }
1259
- if (since !== undefined) {
1260
- request['from'] = this.iso8601(since);
1261
- }
1262
- if (limit !== undefined) {
1263
- request['size'] = limit;
1264
- }
1265
- const response = await this.historyGetTrades(this.extend(request, query));
1266
- //
1267
- // {
1268
- // "trades": [
1269
- // {
1270
- // "fee": "0.3",
1271
- // "id": 100,
1272
- // "makerOrTaker": "MAKER",
1273
- // "makerOrderId": "string",
1274
- // "price": "0.017",
1275
- // "quantity": "0.3",
1276
- // "side": "BUY",
1277
- // "symbol": "TIMEETH",
1278
- // "takerOrderId": "string",
1279
- // "timestamp": "2019-12-08T04:54:11.171Z"
1280
- // }
1281
- // ]
1282
- // }
1283
- //
1284
- const trades = this.safeList(response, 'trades', []);
1285
- return this.parseTrades(trades, market, since, limit);
1286
- }
1287
- parseTradingFee(fee, market = undefined) {
1288
- //
1289
- // {
1290
- // "fee": 0.0075,
1291
- // "market": "ETHBTC"
1292
- // }
1293
- //
1294
- const marketId = this.safeString(fee, 'market');
1295
- const rate = this.safeNumber(fee, 'fee');
1296
- return {
1297
- 'info': fee,
1298
- 'symbol': this.safeSymbol(marketId, market),
1299
- 'maker': rate,
1300
- 'taker': rate,
1301
- 'percentage': undefined,
1302
- 'tierBased': undefined,
1303
- };
1304
- }
1305
- /**
1306
- * @method
1307
- * @name timex#fetchTradingFee
1308
- * @description fetch the trading fees for a market
1309
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Trading/getFees
1310
- * @param {string} symbol unified market symbol
1311
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1312
- * @returns {object} a [fee structure]{@link https://docs.ccxt.com/?id=fee-structure}
1313
- */
1314
- async fetchTradingFee(symbol, params = {}) {
1315
- await this.loadMarkets();
1316
- const market = this.market(symbol);
1317
- const request = {
1318
- 'markets': market['id'],
1319
- };
1320
- const response = await this.tradingGetFees(this.extend(request, params));
1321
- //
1322
- // [
1323
- // {
1324
- // "fee": 0.0075,
1325
- // "market": "ETHBTC"
1326
- // }
1327
- // ]
1328
- //
1329
- const result = this.safeValue(response, 0, {});
1330
- return this.parseTradingFee(result, market);
1331
- }
1332
- parseMarket(market) {
1333
- //
1334
- // {
1335
- // "symbol": "ETHBTC",
1336
- // "name": "ETH/BTC",
1337
- // "baseCurrency": "ETH",
1338
- // "baseTokenAddress": "0x45932db54b38af1f5a57136302eeba66a5975c15",
1339
- // "quoteCurrency": "BTC",
1340
- // "quoteTokenAddress": "0x8370fbc6ddec1e18b4e41e72ed943e238458487c",
1341
- // "feeCurrency": "BTC",
1342
- // "feeTokenAddress": "0x8370fbc6ddec1e18b4e41e72ed943e238458487c",
1343
- // "quantityIncrement": "0.0000001",
1344
- // "takerFee": "0.005",
1345
- // "makerFee": "0.0025",
1346
- // "tickSize": "0.00000001",
1347
- // "baseMinSize": "0.0001",
1348
- // "quoteMinSize": "0.00001",
1349
- // "locked": false
1350
- // }
1351
- //
1352
- const locked = this.safeValue(market, 'locked');
1353
- const id = this.safeString(market, 'symbol');
1354
- const baseId = this.safeString(market, 'baseCurrency');
1355
- const quoteId = this.safeString(market, 'quoteCurrency');
1356
- const base = this.safeCurrencyCode(baseId);
1357
- const quote = this.safeCurrencyCode(quoteId);
1358
- const amountIncrement = this.safeString(market, 'quantityIncrement');
1359
- const minBase = this.safeString(market, 'baseMinSize');
1360
- const minAmount = Precise.stringMax(amountIncrement, minBase);
1361
- const priceIncrement = this.safeString(market, 'tickSize');
1362
- const minCost = this.safeNumber(market, 'quoteMinSize');
1363
- return {
1364
- 'id': id,
1365
- 'symbol': base + '/' + quote,
1366
- 'base': base,
1367
- 'quote': quote,
1368
- 'settle': undefined,
1369
- 'baseId': baseId,
1370
- 'quoteId': quoteId,
1371
- 'settleId': undefined,
1372
- 'type': 'spot',
1373
- 'spot': true,
1374
- 'margin': false,
1375
- 'swap': false,
1376
- 'future': false,
1377
- 'option': false,
1378
- 'active': !locked,
1379
- 'contract': false,
1380
- 'linear': undefined,
1381
- 'inverse': undefined,
1382
- 'taker': this.safeNumber(market, 'takerFee'),
1383
- 'maker': this.safeNumber(market, 'makerFee'),
1384
- 'contractSize': undefined,
1385
- 'expiry': undefined,
1386
- 'expiryDatetime': undefined,
1387
- 'strike': undefined,
1388
- 'optionType': undefined,
1389
- 'precision': {
1390
- 'amount': this.safeNumber(market, 'quantityIncrement'),
1391
- 'price': this.safeNumber(market, 'tickSize'),
1392
- },
1393
- 'limits': {
1394
- 'leverage': {
1395
- 'min': undefined,
1396
- 'max': undefined,
1397
- },
1398
- 'amount': {
1399
- 'min': this.parseNumber(minAmount),
1400
- 'max': undefined,
1401
- },
1402
- 'price': {
1403
- 'min': this.parseNumber(priceIncrement),
1404
- 'max': undefined,
1405
- },
1406
- 'cost': {
1407
- 'min': minCost,
1408
- 'max': undefined,
1409
- },
1410
- },
1411
- 'created': undefined,
1412
- 'info': market,
1413
- };
1414
- }
1415
- parseCurrency(currency) {
1416
- //
1417
- // {
1418
- // "symbol": "BTC",
1419
- // "name": "Bitcoin",
1420
- // "address": "0x8370fbc6ddec1e18b4e41e72ed943e238458487c",
1421
- // "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR...mc+Cg==",
1422
- // "background": "transparent",
1423
- // "fiatSymbol": "BTC",
1424
- // "decimals": 8,
1425
- // "tradeDecimals": 20,
1426
- // "displayDecimals": 4,
1427
- // "crypto": true,
1428
- // "depositEnabled": true,
1429
- // "withdrawalEnabled": true,
1430
- // "transferEnabled": true,
1431
- // "buyEnabled": false,
1432
- // "purchaseEnabled": false,
1433
- // "redeemEnabled": false,
1434
- // "active": true,
1435
- // "withdrawalFee": "50000000000000000",
1436
- // "purchaseCommissions": []
1437
- // }
1438
- //
1439
- // https://github.com/ccxt/ccxt/issues/6878
1440
- //
1441
- // {
1442
- // "symbol":"XRP",
1443
- // "name":"Ripple",
1444
- // "address":"0x0dc8882914f3ddeebf4cec6dc20edb99df3def6c",
1445
- // "decimals":6,
1446
- // "tradeDecimals":16,
1447
- // "depositEnabled":true,
1448
- // "withdrawalEnabled":true,
1449
- // "transferEnabled":true,
1450
- // "active":true
1451
- // }
1452
- //
1453
- const id = this.safeString(currency, 'symbol');
1454
- const code = this.safeCurrencyCode(id);
1455
- // const fee = this.safeNumber (currency, 'withdrawalFee');
1456
- const feeString = this.safeString(currency, 'withdrawalFee');
1457
- const tradeDecimals = this.safeInteger(currency, 'tradeDecimals');
1458
- let fee = undefined;
1459
- if ((feeString !== undefined) && (tradeDecimals !== undefined)) {
1460
- const feeStringLen = feeString.length;
1461
- const dotIndex = feeStringLen - tradeDecimals;
1462
- if (dotIndex > 0) {
1463
- const whole = feeString.slice(0, dotIndex);
1464
- const fraction = feeString.slice(-dotIndex);
1465
- fee = this.parseNumber(whole + '.' + fraction);
1466
- }
1467
- else {
1468
- let fraction = '.';
1469
- for (let i = 0; i < -dotIndex; i++) {
1470
- fraction += '0';
1471
- }
1472
- fee = this.parseNumber(fraction + feeString);
1473
- }
1474
- }
1475
- return this.safeCurrencyStructure({
1476
- 'id': code,
1477
- 'code': code,
1478
- 'info': currency,
1479
- 'type': undefined,
1480
- 'name': this.safeString(currency, 'name'),
1481
- 'active': this.safeBool(currency, 'active'),
1482
- 'deposit': this.safeBool(currency, 'depositEnabled'),
1483
- 'withdraw': this.safeBool(currency, 'withdrawalEnabled'),
1484
- 'fee': fee,
1485
- 'precision': this.parseNumber(this.parsePrecision(this.safeString(currency, 'decimals'))),
1486
- 'limits': {
1487
- 'withdraw': { 'min': undefined, 'max': undefined },
1488
- 'amount': { 'min': undefined, 'max': undefined },
1489
- },
1490
- 'networks': {},
1491
- });
1492
- }
1493
- parseTicker(ticker, market = undefined) {
1494
- //
1495
- // {
1496
- // "ask": 0.017,
1497
- // "bid": 0.016,
1498
- // "high": 0.019,
1499
- // "last": 0.017,
1500
- // "low": 0.015,
1501
- // "market": "TIME/ETH",
1502
- // "open": 0.016,
1503
- // "period": "H1",
1504
- // "timestamp": "2018-12-14T20:50:36.134Z",
1505
- // "volume": 4.57,
1506
- // "volumeQuote": 0.07312
1507
- // }
1508
- //
1509
- const marketId = this.safeString(ticker, 'market');
1510
- const symbol = this.safeSymbol(marketId, market, '/');
1511
- const timestamp = this.parse8601(this.safeString(ticker, 'timestamp'));
1512
- const last = this.safeString(ticker, 'last');
1513
- const open = this.safeString(ticker, 'open');
1514
- return this.safeTicker({
1515
- 'symbol': symbol,
1516
- 'info': ticker,
1517
- 'timestamp': timestamp,
1518
- 'datetime': this.iso8601(timestamp),
1519
- 'high': this.safeString(ticker, 'high'),
1520
- 'low': this.safeString(ticker, 'low'),
1521
- 'bid': this.safeString(ticker, 'bid'),
1522
- 'bidVolume': undefined,
1523
- 'ask': this.safeString(ticker, 'ask'),
1524
- 'askVolume': undefined,
1525
- 'vwap': undefined,
1526
- 'open': open,
1527
- 'close': last,
1528
- 'last': last,
1529
- 'previousClose': undefined,
1530
- 'change': undefined,
1531
- 'percentage': undefined,
1532
- 'average': undefined,
1533
- 'baseVolume': this.safeString(ticker, 'volume'),
1534
- 'quoteVolume': this.safeString(ticker, 'volumeQuote'),
1535
- }, market);
1536
- }
1537
- parseTrade(trade, market = undefined) {
1538
- //
1539
- // fetchTrades (public)
1540
- //
1541
- // {
1542
- // "id":1,
1543
- // "timestamp":"2019-06-25T17:01:50.309",
1544
- // "direction":"BUY",
1545
- // "price":"0.027",
1546
- // "quantity":"0.001"
1547
- // }
1548
- //
1549
- // fetchMyTrades, fetchOrder (private)
1550
- //
1551
- // {
1552
- // "id": "7613414",
1553
- // "makerOrderId": "0x8420af060722f560098f786a2894d4358079b6ea5d14b395969ed77bc87a623a",
1554
- // "takerOrderId": "0x1235ef158a361815b54c9988b6241c85aedcbc1fe81caf8df8587d5ab0373d1a",
1555
- // "symbol": "LTCUSDT",
1556
- // "side": "BUY",
1557
- // "quantity": "0.2",
1558
- // "fee": "0.22685",
1559
- // "feeToken": "USDT",
1560
- // "price": "226.85",
1561
- // "makerOrTaker": "TAKER",
1562
- // "timestamp": "2021-04-09T15:39:45.608"
1563
- // }
1564
- //
1565
- const marketId = this.safeString(trade, 'symbol');
1566
- const symbol = this.safeSymbol(marketId, market);
1567
- const timestamp = this.parse8601(this.safeString(trade, 'timestamp'));
1568
- const priceString = this.safeString(trade, 'price');
1569
- const amountString = this.safeString(trade, 'quantity');
1570
- const price = this.parseNumber(priceString);
1571
- const amount = this.parseNumber(amountString);
1572
- const cost = this.parseNumber(Precise.stringMul(priceString, amountString));
1573
- const id = this.safeString(trade, 'id');
1574
- const side = this.safeStringLower2(trade, 'direction', 'side');
1575
- const takerOrMaker = this.safeStringLower(trade, 'makerOrTaker');
1576
- let orderId = undefined;
1577
- if (takerOrMaker !== undefined) {
1578
- orderId = this.safeString(trade, takerOrMaker + 'OrderId');
1579
- }
1580
- let fee = undefined;
1581
- const feeCost = this.safeNumber(trade, 'fee');
1582
- const feeCurrency = this.safeCurrencyCode(this.safeString(trade, 'feeToken'));
1583
- if (feeCost !== undefined) {
1584
- fee = {
1585
- 'cost': feeCost,
1586
- 'currency': feeCurrency,
1587
- };
1588
- }
1589
- return this.safeTrade({
1590
- 'info': trade,
1591
- 'id': id,
1592
- 'timestamp': timestamp,
1593
- 'datetime': this.iso8601(timestamp),
1594
- 'symbol': symbol,
1595
- 'order': orderId,
1596
- 'type': undefined,
1597
- 'side': side,
1598
- 'price': price,
1599
- 'amount': amount,
1600
- 'cost': cost,
1601
- 'takerOrMaker': takerOrMaker,
1602
- 'fee': fee,
1603
- });
1604
- }
1605
- parseOHLCV(ohlcv, market = undefined) {
1606
- //
1607
- // {
1608
- // "timestamp":"2019-12-04T23:00:00",
1609
- // "open":"0.02024009",
1610
- // "high":"0.02024009",
1611
- // "low":"0.02024009",
1612
- // "close":"0.02024009",
1613
- // "volume":"0.00008096036",
1614
- // "volumeQuote":"0.004",
1615
- // }
1616
- //
1617
- return [
1618
- this.parse8601(this.safeString(ohlcv, 'timestamp')),
1619
- this.safeNumber(ohlcv, 'open'),
1620
- this.safeNumber(ohlcv, 'high'),
1621
- this.safeNumber(ohlcv, 'low'),
1622
- this.safeNumber(ohlcv, 'close'),
1623
- this.safeNumber(ohlcv, 'volume'),
1624
- ];
1625
- }
1626
- parseOrder(order, market = undefined) {
1627
- //
1628
- // fetchOrder, createOrder, cancelOrder, cancelOrders, fetchOpenOrders, fetchClosedOrders
1629
- //
1630
- // {
1631
- // "cancelledQuantity": "0.3",
1632
- // "clientOrderId": "my-order-1",
1633
- // "createdAt": "1970-01-01T00:00:00",
1634
- // "cursorId": 50,
1635
- // "expireTime": "1970-01-01T00:00:00",
1636
- // "filledQuantity": "0.3",
1637
- // "id": "string",
1638
- // "price": "0.017",
1639
- // "quantity": "0.3",
1640
- // "side": "BUY",
1641
- // "symbol": "TIMEETH",
1642
- // "type": "LIMIT",
1643
- // "updatedAt": "1970-01-01T00:00:00"
1644
- // "trades": [], // injected from the outside
1645
- // }
1646
- //
1647
- const id = this.safeString(order, 'id');
1648
- const type = this.safeStringLower(order, 'type');
1649
- const side = this.safeStringLower(order, 'side');
1650
- const marketId = this.safeString(order, 'symbol');
1651
- const symbol = this.safeSymbol(marketId, market);
1652
- const timestamp = this.parse8601(this.safeString(order, 'createdAt'));
1653
- const price = this.safeString(order, 'price');
1654
- const amount = this.safeString(order, 'quantity');
1655
- const filled = this.safeString(order, 'filledQuantity');
1656
- const canceledQuantity = this.omitZero(this.safeString(order, 'cancelledQuantity'));
1657
- let status;
1658
- if (Precise.stringEquals(filled, amount)) {
1659
- status = 'closed';
1660
- }
1661
- else if (canceledQuantity !== undefined) {
1662
- status = 'canceled';
1663
- }
1664
- else {
1665
- status = 'open';
1666
- }
1667
- const rawTrades = this.safeValue(order, 'trades', []);
1668
- const clientOrderId = this.safeString(order, 'clientOrderId');
1669
- return this.safeOrder({
1670
- 'info': order,
1671
- 'id': id,
1672
- 'clientOrderId': clientOrderId,
1673
- 'timestamp': timestamp,
1674
- 'datetime': this.iso8601(timestamp),
1675
- 'lastTradeTimestamp': undefined,
1676
- 'symbol': symbol,
1677
- 'type': type,
1678
- 'timeInForce': undefined,
1679
- 'postOnly': undefined,
1680
- 'side': side,
1681
- 'price': price,
1682
- 'triggerPrice': undefined,
1683
- 'amount': amount,
1684
- 'cost': undefined,
1685
- 'average': undefined,
1686
- 'filled': filled,
1687
- 'remaining': undefined,
1688
- 'status': status,
1689
- 'fee': undefined,
1690
- 'trades': rawTrades,
1691
- }, market);
1692
- }
1693
- /**
1694
- * @method
1695
- * @name timex#fetchDepositAddress
1696
- * @description fetch the deposit address for a currency associated with this account, does not accept params["network"]
1697
- * @see https://plasma-relay-backend.timex.io/swagger-ui/index.html?urls.primaryName=Relay#/Currency/selectCurrencyBySymbol
1698
- * @param {string} code unified currency code
1699
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1700
- * @returns {object} an [address structure]{@link https://docs.ccxt.com/?id=address-structure}
1701
- */
1702
- async fetchDepositAddress(code, params = {}) {
1703
- await this.loadMarkets();
1704
- const currency = this.currency(code);
1705
- const request = {
1706
- 'symbol': currency['code'],
1707
- };
1708
- const response = await this.currenciesGetSSymbol(this.extend(request, params));
1709
- //
1710
- // {
1711
- // id: '1',
1712
- // currency: {
1713
- // symbol: 'BTC',
1714
- // name: 'Bitcoin',
1715
- // address: '0x8370fbc6ddec1e18b4e41e72ed943e238458487c',
1716
- // decimals: '8',
1717
- // tradeDecimals: '20',
1718
- // fiatSymbol: 'BTC',
1719
- // depositEnabled: true,
1720
- // withdrawalEnabled: true,
1721
- // transferEnabled: true,
1722
- // active: true
1723
- // }
1724
- // }
1725
- //
1726
- const data = this.safeDict(response, 'currency', {});
1727
- return this.parseDepositAddress(data, currency);
1728
- }
1729
- parseDepositAddress(depositAddress, currency = undefined) {
1730
- //
1731
- // {
1732
- // symbol: 'BTC',
1733
- // name: 'Bitcoin',
1734
- // address: '0x8370fbc6ddec1e18b4e41e72ed943e238458487c',
1735
- // decimals: '8',
1736
- // tradeDecimals: '20',
1737
- // fiatSymbol: 'BTC',
1738
- // depositEnabled: true,
1739
- // withdrawalEnabled: true,
1740
- // transferEnabled: true,
1741
- // active: true
1742
- // }
1743
- //
1744
- const currencyId = this.safeString(depositAddress, 'symbol');
1745
- return {
1746
- 'info': depositAddress,
1747
- 'currency': this.safeCurrencyCode(currencyId, currency),
1748
- 'network': undefined,
1749
- 'address': this.safeString(depositAddress, 'address'),
1750
- 'tag': undefined,
1751
- };
1752
- }
1753
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
1754
- const paramsToExtract = this.extractParams(path);
1755
- path = this.implodeParams(path, params);
1756
- params = this.omit(params, paramsToExtract);
1757
- let url = this.urls['api']['rest'] + '/' + api + '/' + path;
1758
- if (Object.keys(params).length) {
1759
- url += '?' + this.urlencodeWithArrayRepeat(params);
1760
- }
1761
- if (api !== 'public' && api !== 'tradingview') {
1762
- this.checkRequiredCredentials();
1763
- const auth = this.stringToBase64(this.apiKey + ':' + this.secret);
1764
- const secret = 'Basic ' + auth;
1765
- headers = { 'authorization': secret };
1766
- }
1767
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1768
- }
1769
- handleErrors(statusCode, statusText, url, method, responseHeaders, responseBody, response, requestHeaders, requestBody) {
1770
- if (response === undefined) {
1771
- return undefined;
1772
- }
1773
- if (statusCode >= 400) {
1774
- //
1775
- // {"error":{"timestamp":"05.12.2019T05:25:43.584+0000","status":"BAD_REQUEST","message":"Insufficient ETH balance. Required: 1, actual: 0.","code":4001}}
1776
- // {"error":{"timestamp":"05.12.2019T04:03:25.419+0000","status":"FORBIDDEN","message":"Access denied","code":4300}}
1777
- //
1778
- const feedback = this.id + ' ' + responseBody;
1779
- let error = this.safeValue(response, 'error');
1780
- if (error === undefined) {
1781
- error = response;
1782
- }
1783
- const code = this.safeString2(error, 'code', 'status');
1784
- const message = this.safeString2(error, 'message', 'debugMessage');
1785
- this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
1786
- this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);
1787
- this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
1788
- throw new ExchangeError(feedback);
1789
- }
1790
- return undefined;
1791
- }
1792
- }