ccxt-ir 4.3.46.0.3__py2.py3-none-any.whl → 4.5.0__py2.py3-none-any.whl

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 (529) hide show
  1. ccxt/__init__.py +39 -35
  2. ccxt/abantether.py +8 -8
  3. ccxt/abstract/alpaca.py +4 -0
  4. ccxt/abstract/apex.py +31 -0
  5. ccxt/abstract/bigone.py +1 -1
  6. ccxt/abstract/binance.py +106 -48
  7. ccxt/abstract/binancecoinm.py +106 -48
  8. ccxt/abstract/binanceus.py +141 -83
  9. ccxt/abstract/binanceusdm.py +106 -48
  10. ccxt/abstract/bingx.py +50 -1
  11. ccxt/abstract/bitbank.py +5 -0
  12. ccxt/abstract/bitfinex.py +136 -65
  13. ccxt/abstract/bitflyer.py +1 -0
  14. ccxt/abstract/bitget.py +67 -0
  15. ccxt/abstract/bitmart.py +19 -1
  16. ccxt/abstract/bitopro.py +1 -0
  17. ccxt/abstract/bitrue.py +68 -68
  18. ccxt/abstract/bitstamp.py +1 -0
  19. ccxt/abstract/blofin.py +30 -0
  20. ccxt/abstract/btcbox.py +2 -0
  21. ccxt/abstract/bybit.py +28 -13
  22. ccxt/abstract/cex.py +28 -29
  23. ccxt/abstract/coinbaseexchange.py +1 -0
  24. ccxt/abstract/coinbaseinternational.py +1 -1
  25. ccxt/abstract/cryptocom.py +16 -0
  26. ccxt/abstract/cryptomus.py +20 -0
  27. ccxt/abstract/defx.py +69 -0
  28. ccxt/abstract/deribit.py +1 -0
  29. ccxt/abstract/derive.py +117 -0
  30. ccxt/abstract/digifinex.py +1 -0
  31. ccxt/abstract/ellipx.py +25 -0
  32. ccxt/abstract/foxbit.py +26 -0
  33. ccxt/abstract/gate.py +19 -0
  34. ccxt/abstract/gateio.py +19 -0
  35. ccxt/abstract/gemini.py +1 -0
  36. ccxt/abstract/hibachi.py +26 -0
  37. ccxt/abstract/hyperliquid.py +1 -1
  38. ccxt/abstract/independentreserve.py +6 -0
  39. ccxt/abstract/kraken.py +1 -0
  40. ccxt/abstract/krakenfutures.py +4 -0
  41. ccxt/abstract/kucoin.py +10 -0
  42. ccxt/abstract/kucoinfutures.py +18 -0
  43. ccxt/abstract/lbank.py +2 -1
  44. ccxt/abstract/luno.py +1 -0
  45. ccxt/abstract/mexc.py +2 -0
  46. ccxt/abstract/modetrade.py +119 -0
  47. ccxt/abstract/myokx.py +349 -0
  48. ccxt/abstract/oceanex.py +5 -0
  49. ccxt/abstract/okx.py +25 -0
  50. ccxt/abstract/okxus.py +349 -0
  51. ccxt/abstract/onetrading.py +0 -12
  52. ccxt/abstract/paradex.py +23 -0
  53. ccxt/abstract/phemex.py +2 -0
  54. ccxt/abstract/poloniex.py +36 -0
  55. ccxt/abstract/tradeogre.py +3 -1
  56. ccxt/abstract/upbit.py +51 -34
  57. ccxt/abstract/whitebit.py +16 -0
  58. ccxt/abstract/woo.py +64 -6
  59. ccxt/abstract/xt.py +10 -5
  60. ccxt/afratether.py +7 -7
  61. ccxt/alpaca.py +828 -51
  62. ccxt/apex.py +1875 -0
  63. ccxt/arzinja.py +7 -7
  64. ccxt/arzplus.py +9 -9
  65. ccxt/ascendex.py +501 -306
  66. ccxt/async_support/__init__.py +39 -35
  67. ccxt/async_support/abantether.py +8 -8
  68. ccxt/async_support/afratether.py +9 -9
  69. ccxt/async_support/alpaca.py +828 -51
  70. ccxt/async_support/apex.py +1875 -0
  71. ccxt/async_support/arzinja.py +10 -10
  72. ccxt/async_support/arzplus.py +12 -12
  73. ccxt/async_support/ascendex.py +502 -306
  74. ccxt/async_support/base/exchange.py +303 -89
  75. ccxt/async_support/base/ws/cache.py +9 -3
  76. ccxt/async_support/base/ws/client.py +173 -38
  77. ccxt/async_support/base/ws/future.py +25 -37
  78. ccxt/async_support/bequant.py +5 -3
  79. ccxt/async_support/bigone.py +279 -144
  80. ccxt/async_support/binance.py +2347 -1158
  81. ccxt/async_support/binancecoinm.py +9 -3
  82. ccxt/async_support/binanceus.py +17 -3
  83. ccxt/async_support/binanceusdm.py +9 -4
  84. ccxt/async_support/bingx.py +2962 -920
  85. ccxt/async_support/bit2c.py +147 -27
  86. ccxt/async_support/bitbank.py +151 -23
  87. ccxt/async_support/bitbns.py +104 -30
  88. ccxt/async_support/bitfinex.py +3291 -1113
  89. ccxt/async_support/bitflyer.py +202 -27
  90. ccxt/async_support/bitget.py +3683 -1538
  91. ccxt/async_support/bithumb.py +195 -38
  92. ccxt/async_support/bitimen.py +12 -12
  93. ccxt/async_support/bitir.py +38 -38
  94. ccxt/async_support/bitmart.py +1288 -350
  95. ccxt/async_support/bitmex.py +260 -75
  96. ccxt/async_support/bitopro.py +262 -62
  97. ccxt/async_support/bitpin.py +17 -16
  98. ccxt/async_support/bitrue.py +459 -290
  99. ccxt/async_support/bitso.py +199 -54
  100. ccxt/async_support/bitstamp.py +230 -96
  101. ccxt/async_support/bitteam.py +167 -25
  102. ccxt/async_support/{huobijp.py → bittrade.py} +158 -30
  103. ccxt/async_support/bitvavo.py +213 -49
  104. ccxt/async_support/blockchaincom.py +160 -46
  105. ccxt/async_support/blofin.py +502 -120
  106. ccxt/async_support/btcalpha.py +169 -31
  107. ccxt/async_support/btcbox.py +292 -23
  108. ccxt/async_support/btcmarkets.py +211 -58
  109. ccxt/async_support/btcturk.py +161 -38
  110. ccxt/async_support/bybit.py +1775 -1030
  111. ccxt/async_support/cex.py +1440 -1303
  112. ccxt/async_support/coinbase.py +724 -212
  113. ccxt/async_support/coinbaseadvanced.py +2 -1
  114. ccxt/async_support/coinbaseexchange.py +388 -89
  115. ccxt/async_support/coinbaseinternational.py +412 -57
  116. ccxt/async_support/coincatch.py +177 -78
  117. ccxt/async_support/coincheck.py +135 -19
  118. ccxt/async_support/coinex.py +606 -232
  119. ccxt/async_support/coinmate.py +189 -63
  120. ccxt/async_support/coinmetro.py +195 -54
  121. ccxt/async_support/coinone.py +158 -51
  122. ccxt/async_support/coinsph.py +336 -61
  123. ccxt/async_support/coinspot.py +151 -52
  124. ccxt/async_support/cryptocom.py +661 -111
  125. ccxt/async_support/cryptomus.py +1137 -0
  126. ccxt/async_support/defx.py +2071 -0
  127. ccxt/async_support/delta.py +299 -99
  128. ccxt/async_support/deribit.py +348 -126
  129. ccxt/async_support/derive.py +2572 -0
  130. ccxt/async_support/digifinex.py +430 -214
  131. ccxt/async_support/ellipx.py +2029 -0
  132. ccxt/async_support/eterex.py +10 -10
  133. ccxt/async_support/excoino.py +31 -31
  134. ccxt/async_support/exir.py +14 -14
  135. ccxt/async_support/exmo.py +344 -131
  136. ccxt/async_support/exnovin.py +10 -10
  137. ccxt/async_support/farhadexchange.py +12 -12
  138. ccxt/async_support/fmfwio.py +2 -1
  139. ccxt/async_support/foxbit.py +1935 -0
  140. ccxt/async_support/gate.py +1351 -529
  141. ccxt/async_support/gateio.py +2 -1
  142. ccxt/async_support/gemini.py +144 -39
  143. ccxt/async_support/hashkey.py +152 -109
  144. ccxt/async_support/hibachi.py +2080 -0
  145. ccxt/async_support/hitbtc.py +395 -167
  146. ccxt/async_support/hitobit.py +12 -12
  147. ccxt/async_support/hollaex.py +307 -119
  148. ccxt/async_support/htx.py +851 -383
  149. ccxt/async_support/huobi.py +2 -1
  150. ccxt/async_support/hyperliquid.py +1848 -536
  151. ccxt/async_support/independentreserve.py +288 -15
  152. ccxt/async_support/indodax.py +190 -33
  153. ccxt/async_support/jibitex.py +12 -12
  154. ccxt/async_support/kraken.py +795 -351
  155. ccxt/async_support/krakenfutures.py +214 -62
  156. ccxt/async_support/kucoin.py +715 -396
  157. ccxt/async_support/kucoinfutures.py +652 -89
  158. ccxt/async_support/latoken.py +217 -113
  159. ccxt/async_support/lbank.py +425 -97
  160. ccxt/async_support/luno.py +382 -35
  161. ccxt/async_support/mercado.py +113 -6
  162. ccxt/async_support/mexc.py +874 -437
  163. ccxt/async_support/modetrade.py +2818 -0
  164. ccxt/async_support/myokx.py +54 -0
  165. ccxt/async_support/ndax.py +221 -64
  166. ccxt/async_support/nobitex.py +31 -37
  167. ccxt/async_support/novadax.py +190 -34
  168. ccxt/async_support/oceanex.py +217 -28
  169. ccxt/async_support/okcoin.py +253 -145
  170. ccxt/async_support/okexchange.py +11 -11
  171. ccxt/async_support/okx.py +1088 -351
  172. ccxt/async_support/okxus.py +54 -0
  173. ccxt/async_support/ompfinex.py +25 -24
  174. ccxt/async_support/onetrading.py +213 -392
  175. ccxt/async_support/oxfun.py +245 -166
  176. ccxt/async_support/p2b.py +151 -29
  177. ccxt/async_support/paradex.py +562 -49
  178. ccxt/async_support/paymium.py +82 -19
  179. ccxt/async_support/phemex.py +713 -172
  180. ccxt/async_support/poloniex.py +1602 -283
  181. ccxt/async_support/probit.py +224 -95
  182. ccxt/async_support/ramzinex.py +30 -27
  183. ccxt/async_support/sarmayex.py +9 -9
  184. ccxt/async_support/sarrafex.py +13 -13
  185. ccxt/async_support/tabdeal.py +14 -13
  186. ccxt/async_support/tetherland.py +9 -9
  187. ccxt/async_support/timex.py +210 -51
  188. ccxt/async_support/tokocrypto.py +167 -47
  189. ccxt/async_support/tradeogre.py +266 -31
  190. ccxt/async_support/twox.py +9 -9
  191. ccxt/async_support/ubitex.py +12 -12
  192. ccxt/async_support/upbit.py +568 -165
  193. ccxt/async_support/vertex.py +160 -32
  194. ccxt/async_support/wallex.py +12 -12
  195. ccxt/async_support/wavesexchange.py +165 -30
  196. ccxt/async_support/whitebit.py +975 -127
  197. ccxt/async_support/woo.py +1918 -1016
  198. ccxt/async_support/woofipro.py +433 -141
  199. ccxt/async_support/xt.py +649 -193
  200. ccxt/async_support/yobit.py +195 -70
  201. ccxt/async_support/zaif.py +91 -15
  202. ccxt/async_support/zonda.py +151 -36
  203. ccxt/base/decimal_to_precision.py +14 -10
  204. ccxt/base/errors.py +49 -18
  205. ccxt/base/exchange.py +1556 -450
  206. ccxt/base/precise.py +10 -0
  207. ccxt/base/types.py +114 -6
  208. ccxt/bequant.py +5 -3
  209. ccxt/bigone.py +279 -144
  210. ccxt/binance.py +2347 -1158
  211. ccxt/binancecoinm.py +9 -3
  212. ccxt/binanceus.py +17 -3
  213. ccxt/binanceusdm.py +9 -4
  214. ccxt/bingx.py +2962 -920
  215. ccxt/bit2c.py +147 -27
  216. ccxt/bitbank.py +151 -23
  217. ccxt/bitbns.py +104 -30
  218. ccxt/bitfinex.py +3290 -1113
  219. ccxt/bitflyer.py +202 -27
  220. ccxt/bitget.py +3683 -1538
  221. ccxt/bithumb.py +194 -38
  222. ccxt/bitimen.py +9 -9
  223. ccxt/bitir.py +35 -35
  224. ccxt/bitmart.py +1288 -350
  225. ccxt/bitmex.py +260 -75
  226. ccxt/bitopro.py +262 -62
  227. ccxt/bitpin.py +15 -14
  228. ccxt/bitrue.py +459 -290
  229. ccxt/bitso.py +199 -54
  230. ccxt/bitstamp.py +230 -96
  231. ccxt/bitteam.py +167 -25
  232. ccxt/{huobijp.py → bittrade.py} +158 -30
  233. ccxt/bitvavo.py +213 -49
  234. ccxt/blockchaincom.py +160 -46
  235. ccxt/blofin.py +502 -120
  236. ccxt/btcalpha.py +169 -31
  237. ccxt/btcbox.py +291 -23
  238. ccxt/btcmarkets.py +211 -58
  239. ccxt/btcturk.py +161 -38
  240. ccxt/bybit.py +1775 -1030
  241. ccxt/cex.py +1439 -1303
  242. ccxt/coinbase.py +724 -212
  243. ccxt/coinbaseadvanced.py +2 -1
  244. ccxt/coinbaseexchange.py +388 -89
  245. ccxt/coinbaseinternational.py +412 -57
  246. ccxt/coincatch.py +177 -78
  247. ccxt/coincheck.py +135 -19
  248. ccxt/coinex.py +606 -232
  249. ccxt/coinmate.py +189 -63
  250. ccxt/coinmetro.py +194 -54
  251. ccxt/coinone.py +158 -51
  252. ccxt/coinsph.py +336 -61
  253. ccxt/coinspot.py +151 -52
  254. ccxt/cryptocom.py +661 -111
  255. ccxt/cryptomus.py +1137 -0
  256. ccxt/defx.py +2070 -0
  257. ccxt/delta.py +299 -99
  258. ccxt/deribit.py +348 -126
  259. ccxt/derive.py +2571 -0
  260. ccxt/digifinex.py +430 -214
  261. ccxt/ellipx.py +2029 -0
  262. ccxt/eterex.py +7 -7
  263. ccxt/excoino.py +29 -29
  264. ccxt/exir.py +11 -11
  265. ccxt/exmo.py +343 -131
  266. ccxt/exnovin.py +8 -8
  267. ccxt/farhadexchange.py +10 -10
  268. ccxt/fmfwio.py +2 -1
  269. ccxt/foxbit.py +1935 -0
  270. ccxt/gate.py +1351 -529
  271. ccxt/gateio.py +2 -1
  272. ccxt/gemini.py +144 -39
  273. ccxt/hashkey.py +152 -109
  274. ccxt/hibachi.py +2079 -0
  275. ccxt/hitbtc.py +395 -167
  276. ccxt/hitobit.py +9 -9
  277. ccxt/hollaex.py +307 -119
  278. ccxt/htx.py +851 -383
  279. ccxt/huobi.py +2 -1
  280. ccxt/hyperliquid.py +1848 -536
  281. ccxt/independentreserve.py +287 -15
  282. ccxt/indodax.py +190 -33
  283. ccxt/jibitex.py +9 -9
  284. ccxt/kraken.py +794 -351
  285. ccxt/krakenfutures.py +214 -62
  286. ccxt/kucoin.py +715 -396
  287. ccxt/kucoinfutures.py +652 -89
  288. ccxt/latoken.py +217 -113
  289. ccxt/lbank.py +425 -97
  290. ccxt/luno.py +382 -35
  291. ccxt/mercado.py +113 -6
  292. ccxt/mexc.py +873 -437
  293. ccxt/modetrade.py +2818 -0
  294. ccxt/myokx.py +54 -0
  295. ccxt/ndax.py +221 -64
  296. ccxt/nobitex.py +29 -35
  297. ccxt/novadax.py +190 -34
  298. ccxt/oceanex.py +217 -28
  299. ccxt/okcoin.py +253 -145
  300. ccxt/okexchange.py +9 -9
  301. ccxt/okx.py +1088 -351
  302. ccxt/okxus.py +54 -0
  303. ccxt/ompfinex.py +22 -21
  304. ccxt/onetrading.py +213 -392
  305. ccxt/oxfun.py +245 -166
  306. ccxt/p2b.py +151 -29
  307. ccxt/paradex.py +562 -49
  308. ccxt/paymium.py +82 -19
  309. ccxt/phemex.py +712 -172
  310. ccxt/poloniex.py +1601 -283
  311. ccxt/pro/__init__.py +76 -17
  312. ccxt/pro/alpaca.py +21 -6
  313. ccxt/pro/apex.py +984 -0
  314. ccxt/pro/ascendex.py +58 -10
  315. ccxt/pro/bequant.py +6 -1
  316. ccxt/pro/binance.py +728 -156
  317. ccxt/pro/binancecoinm.py +6 -2
  318. ccxt/pro/binanceus.py +8 -4
  319. ccxt/pro/binanceusdm.py +7 -2
  320. ccxt/pro/bingx.py +333 -142
  321. ccxt/pro/bitfinex.py +727 -262
  322. ccxt/pro/bitget.py +570 -79
  323. ccxt/pro/bithumb.py +20 -6
  324. ccxt/pro/bitmart.py +216 -87
  325. ccxt/pro/bitmex.py +47 -9
  326. ccxt/pro/bitopro.py +26 -14
  327. ccxt/pro/bitrue.py +22 -22
  328. ccxt/pro/bitstamp.py +54 -21
  329. ccxt/pro/{huobijp.py → bittrade.py} +7 -6
  330. ccxt/pro/bitvavo.py +191 -67
  331. ccxt/pro/blockchaincom.py +21 -8
  332. ccxt/pro/blofin.py +9 -1
  333. ccxt/pro/bybit.py +632 -245
  334. ccxt/pro/cex.py +59 -24
  335. ccxt/pro/coinbase.py +102 -73
  336. ccxt/pro/coinbaseadvanced.py +2 -1
  337. ccxt/pro/coinbaseexchange.py +8 -8
  338. ccxt/pro/coinbaseinternational.py +181 -25
  339. ccxt/pro/coincatch.py +6 -7
  340. ccxt/pro/coincheck.py +11 -6
  341. ccxt/pro/coinex.py +967 -665
  342. ccxt/pro/coinone.py +16 -9
  343. ccxt/pro/cryptocom.py +448 -45
  344. ccxt/pro/defx.py +831 -0
  345. ccxt/pro/deribit.py +150 -14
  346. ccxt/pro/derive.py +704 -0
  347. ccxt/pro/exmo.py +239 -6
  348. ccxt/pro/gate.py +623 -65
  349. ccxt/pro/gateio.py +2 -1
  350. ccxt/pro/gemini.py +27 -11
  351. ccxt/pro/hashkey.py +2 -2
  352. ccxt/pro/hitbtc.py +196 -91
  353. ccxt/pro/hollaex.py +23 -7
  354. ccxt/pro/htx.py +51 -14
  355. ccxt/pro/huobi.py +2 -1
  356. ccxt/pro/hyperliquid.py +591 -27
  357. ccxt/pro/independentreserve.py +9 -6
  358. ccxt/pro/kraken.py +640 -320
  359. ccxt/pro/krakenfutures.py +62 -35
  360. ccxt/pro/kucoin.py +267 -46
  361. ccxt/pro/kucoinfutures.py +165 -21
  362. ccxt/pro/lbank.py +102 -21
  363. ccxt/pro/luno.py +12 -8
  364. ccxt/pro/mexc.py +877 -111
  365. ccxt/pro/modetrade.py +1271 -0
  366. ccxt/pro/myokx.py +38 -0
  367. ccxt/pro/ndax.py +15 -2
  368. ccxt/pro/okcoin.py +23 -4
  369. ccxt/pro/okx.py +573 -98
  370. ccxt/pro/okxus.py +38 -0
  371. ccxt/pro/onetrading.py +30 -13
  372. ccxt/pro/oxfun.py +131 -27
  373. ccxt/pro/p2b.py +88 -22
  374. ccxt/pro/paradex.py +3 -3
  375. ccxt/pro/phemex.py +75 -21
  376. ccxt/pro/poloniex.py +124 -41
  377. ccxt/pro/probit.py +87 -80
  378. ccxt/pro/tradeogre.py +272 -0
  379. ccxt/pro/upbit.py +152 -12
  380. ccxt/pro/vertex.py +8 -3
  381. ccxt/pro/whitebit.py +58 -5
  382. ccxt/pro/woo.py +228 -37
  383. ccxt/pro/woofipro.py +106 -18
  384. ccxt/pro/xt.py +111 -5
  385. ccxt/probit.py +224 -95
  386. ccxt/protobuf/__init__.py +0 -0
  387. ccxt/protobuf/mexc/PrivateAccountV3Api_pb2.py +37 -0
  388. ccxt/protobuf/mexc/PrivateDealsV3Api_pb2.py +37 -0
  389. ccxt/protobuf/mexc/PrivateOrdersV3Api_pb2.py +37 -0
  390. ccxt/protobuf/mexc/PublicAggreBookTickerV3Api_pb2.py +37 -0
  391. ccxt/protobuf/mexc/PublicAggreDealsV3Api_pb2.py +39 -0
  392. ccxt/protobuf/mexc/PublicAggreDepthsV3Api_pb2.py +39 -0
  393. ccxt/protobuf/mexc/PublicBookTickerBatchV3Api_pb2.py +38 -0
  394. ccxt/protobuf/mexc/PublicBookTickerV3Api_pb2.py +37 -0
  395. ccxt/protobuf/mexc/PublicDealsV3Api_pb2.py +39 -0
  396. ccxt/protobuf/mexc/PublicIncreaseDepthsBatchV3Api_pb2.py +38 -0
  397. ccxt/protobuf/mexc/PublicIncreaseDepthsV3Api_pb2.py +39 -0
  398. ccxt/protobuf/mexc/PublicLimitDepthsV3Api_pb2.py +39 -0
  399. ccxt/protobuf/mexc/PublicMiniTickerV3Api_pb2.py +37 -0
  400. ccxt/protobuf/mexc/PublicMiniTickersV3Api_pb2.py +38 -0
  401. ccxt/protobuf/mexc/PublicSpotKlineV3Api_pb2.py +37 -0
  402. ccxt/protobuf/mexc/PushDataV3ApiWrapper_pb2.py +52 -0
  403. ccxt/protobuf/mexc/__init__.py +0 -0
  404. ccxt/ramzinex.py +28 -25
  405. ccxt/sarmayex.py +7 -7
  406. ccxt/sarrafex.py +10 -10
  407. ccxt/static_dependencies/__init__.py +1 -1
  408. ccxt/static_dependencies/lark/py.typed +0 -0
  409. ccxt/static_dependencies/marshmallow/py.typed +0 -0
  410. ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  411. ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  412. ccxt/tabdeal.py +12 -11
  413. ccxt/test/tests_async.py +261 -57
  414. ccxt/test/tests_helpers.py +1 -3
  415. ccxt/test/tests_init.py +4 -3
  416. ccxt/test/tests_sync.py +261 -57
  417. ccxt/tetherland.py +7 -7
  418. ccxt/timex.py +210 -51
  419. ccxt/tokocrypto.py +167 -47
  420. ccxt/tradeogre.py +266 -31
  421. ccxt/twox.py +7 -7
  422. ccxt/ubitex.py +9 -9
  423. ccxt/upbit.py +568 -165
  424. ccxt/vertex.py +160 -32
  425. ccxt/wallex.py +9 -9
  426. ccxt/wavesexchange.py +165 -30
  427. ccxt/whitebit.py +975 -127
  428. ccxt/woo.py +1917 -1016
  429. ccxt/woofipro.py +432 -141
  430. ccxt/xt.py +649 -193
  431. ccxt/yobit.py +194 -70
  432. ccxt/zaif.py +91 -15
  433. ccxt/zonda.py +151 -36
  434. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/METADATA +225 -73
  435. ccxt_ir-4.5.0.dist-info/RECORD +743 -0
  436. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
  437. ccxt/__test__.py +0 -7
  438. ccxt/abstract/ace.py +0 -15
  439. ccxt/abstract/bitbay.py +0 -53
  440. ccxt/abstract/bitcoincom.py +0 -115
  441. ccxt/abstract/bitfinex2.py +0 -139
  442. ccxt/abstract/bitpanda.py +0 -35
  443. ccxt/abstract/bl3p.py +0 -19
  444. ccxt/abstract/coinlist.py +0 -54
  445. ccxt/abstract/currencycom.py +0 -68
  446. ccxt/abstract/hitbtc3.py +0 -115
  447. ccxt/abstract/idex.py +0 -26
  448. ccxt/abstract/kuna.py +0 -182
  449. ccxt/abstract/lykke.py +0 -29
  450. ccxt/abstract/poloniexfutures.py +0 -48
  451. ccxt/abstract/wazirx.py +0 -30
  452. ccxt/ace.py +0 -1012
  453. ccxt/async_support/ace.py +0 -1012
  454. ccxt/async_support/base/ws/aiohttp_client.py +0 -125
  455. ccxt/async_support/base/ws/fast_client.py +0 -96
  456. ccxt/async_support/bitbay.py +0 -17
  457. ccxt/async_support/bitcoincom.py +0 -17
  458. ccxt/async_support/bitfinex2.py +0 -3552
  459. ccxt/async_support/bitpanda.py +0 -16
  460. ccxt/async_support/bl3p.py +0 -485
  461. ccxt/async_support/coinlist.py +0 -2243
  462. ccxt/async_support/currencycom.py +0 -1950
  463. ccxt/async_support/hitbtc3.py +0 -16
  464. ccxt/async_support/idex.py +0 -1766
  465. ccxt/async_support/kuna.py +0 -1841
  466. ccxt/async_support/lykke.py +0 -1270
  467. ccxt/async_support/poloniexfutures.py +0 -1717
  468. ccxt/async_support/wazirx.py +0 -1224
  469. ccxt/bitbay.py +0 -17
  470. ccxt/bitcoincom.py +0 -17
  471. ccxt/bitfinex2.py +0 -3552
  472. ccxt/bitpanda.py +0 -16
  473. ccxt/bl3p.py +0 -485
  474. ccxt/coinlist.py +0 -2243
  475. ccxt/currencycom.py +0 -1950
  476. ccxt/hitbtc3.py +0 -16
  477. ccxt/idex.py +0 -1766
  478. ccxt/kuna.py +0 -1841
  479. ccxt/lykke.py +0 -1270
  480. ccxt/poloniexfutures.py +0 -1717
  481. ccxt/pro/bitcoincom.py +0 -34
  482. ccxt/pro/bitfinex2.py +0 -1083
  483. ccxt/pro/bitpanda.py +0 -15
  484. ccxt/pro/currencycom.py +0 -536
  485. ccxt/pro/idex.py +0 -672
  486. ccxt/pro/poloniexfutures.py +0 -990
  487. ccxt/pro/wazirx.py +0 -749
  488. ccxt/test/base/__init__.py +0 -29
  489. ccxt/test/base/test_account.py +0 -26
  490. ccxt/test/base/test_balance.py +0 -56
  491. ccxt/test/base/test_borrow_interest.py +0 -35
  492. ccxt/test/base/test_borrow_rate.py +0 -32
  493. ccxt/test/base/test_calculate_fee.py +0 -51
  494. ccxt/test/base/test_crypto.py +0 -127
  495. ccxt/test/base/test_currency.py +0 -76
  496. ccxt/test/base/test_datetime.py +0 -109
  497. ccxt/test/base/test_decimal_to_precision.py +0 -392
  498. ccxt/test/base/test_deep_extend.py +0 -68
  499. ccxt/test/base/test_deposit_withdrawal.py +0 -50
  500. ccxt/test/base/test_exchange_datetime_functions.py +0 -76
  501. ccxt/test/base/test_funding_rate_history.py +0 -29
  502. ccxt/test/base/test_last_price.py +0 -31
  503. ccxt/test/base/test_ledger_entry.py +0 -45
  504. ccxt/test/base/test_ledger_item.py +0 -48
  505. ccxt/test/base/test_leverage_tier.py +0 -33
  506. ccxt/test/base/test_liquidation.py +0 -50
  507. ccxt/test/base/test_margin_mode.py +0 -24
  508. ccxt/test/base/test_margin_modification.py +0 -35
  509. ccxt/test/base/test_market.py +0 -193
  510. ccxt/test/base/test_number.py +0 -411
  511. ccxt/test/base/test_ohlcv.py +0 -33
  512. ccxt/test/base/test_open_interest.py +0 -32
  513. ccxt/test/base/test_order.py +0 -64
  514. ccxt/test/base/test_order_book.py +0 -69
  515. ccxt/test/base/test_position.py +0 -60
  516. ccxt/test/base/test_shared_methods.py +0 -353
  517. ccxt/test/base/test_status.py +0 -24
  518. ccxt/test/base/test_throttle.py +0 -126
  519. ccxt/test/base/test_ticker.py +0 -92
  520. ccxt/test/base/test_trade.py +0 -47
  521. ccxt/test/base/test_trading_fee.py +0 -26
  522. ccxt/test/base/test_transaction.py +0 -39
  523. ccxt/test/test_async.py +0 -1649
  524. ccxt/test/test_sync.py +0 -1648
  525. ccxt/wazirx.py +0 -1224
  526. ccxt_ir-4.3.46.0.3.dist-info/RECORD +0 -773
  527. /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
  528. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
  529. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/top_level.txt +0 -0
ccxt/tokocrypto.py CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.tokocrypto import ImplicitAPI
8
8
  import hashlib
9
9
  import json
10
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
+ from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import AuthenticationError
@@ -17,7 +17,6 @@ from ccxt.base.errors import ArgumentsRequired
17
17
  from ccxt.base.errors import BadRequest
18
18
  from ccxt.base.errors import BadSymbol
19
19
  from ccxt.base.errors import MarginModeAlreadySet
20
- from ccxt.base.errors import BadResponse
21
20
  from ccxt.base.errors import InsufficientFunds
22
21
  from ccxt.base.errors import InvalidOrder
23
22
  from ccxt.base.errors import OrderNotFound
@@ -30,6 +29,7 @@ from ccxt.base.errors import ExchangeNotAvailable
30
29
  from ccxt.base.errors import OnMaintenance
31
30
  from ccxt.base.errors import InvalidNonce
32
31
  from ccxt.base.errors import RequestTimeout
32
+ from ccxt.base.errors import BadResponse
33
33
  from ccxt.base.decimal_to_precision import TRUNCATE
34
34
  from ccxt.base.decimal_to_precision import TICK_SIZE
35
35
  from ccxt.base.precise import Precise
@@ -37,7 +37,7 @@ from ccxt.base.precise import Precise
37
37
 
38
38
  class tokocrypto(Exchange, ImplicitAPI):
39
39
 
40
- def describe(self):
40
+ def describe(self) -> Any:
41
41
  return self.deep_extend(super(tokocrypto, self).describe(), {
42
42
  'id': 'tokocrypto',
43
43
  'name': 'Tokocrypto',
@@ -619,27 +619,114 @@ class tokocrypto(Exchange, ImplicitAPI):
619
619
  'MAX_POSITION': InvalidOrder, # {"code":-2010,"msg":"Filter failure: MAX_POSITION"}
620
620
  },
621
621
  },
622
+ 'features': {
623
+ 'spot': {
624
+ 'sandbox': False,
625
+ 'createOrder': {
626
+ 'marginMode': False,
627
+ 'triggerPrice': True,
628
+ 'triggerDirection': False,
629
+ 'triggerPriceType': None,
630
+ 'stopLossPrice': False, # todo
631
+ 'takeProfitPrice': False, # todo
632
+ 'attachedStopLossTakeProfit': None,
633
+ 'timeInForce': {
634
+ 'IOC': True,
635
+ 'FOK': True,
636
+ 'PO': True,
637
+ 'GTD': False,
638
+ },
639
+ 'hedged': False,
640
+ 'trailing': False,
641
+ 'leverage': False,
642
+ 'marketBuyByCost': True,
643
+ 'marketBuyRequiresPrice': True,
644
+ 'selfTradePrevention': True, # todo
645
+ 'iceberg': True, # todo
646
+ },
647
+ 'createOrders': None,
648
+ 'fetchMyTrades': {
649
+ 'marginMode': False,
650
+ 'limit': 1000,
651
+ 'daysBack': 100000, # todo
652
+ 'untilDays': 100000, # todo
653
+ 'symbolRequired': True,
654
+ },
655
+ 'fetchOrder': {
656
+ 'marginMode': False,
657
+ 'trigger': False,
658
+ 'trailing': False,
659
+ 'symbolRequired': False,
660
+ },
661
+ 'fetchOpenOrders': {
662
+ 'marginMode': False,
663
+ 'limit': 1000,
664
+ 'trigger': False,
665
+ 'trailing': False,
666
+ 'symbolRequired': True,
667
+ },
668
+ 'fetchOrders': {
669
+ 'marginMode': False,
670
+ 'limit': 1000,
671
+ 'daysBack': 100000,
672
+ 'untilDays': 100000,
673
+ 'trigger': False,
674
+ 'trailing': False,
675
+ 'symbolRequired': True,
676
+ },
677
+ 'fetchClosedOrders': {
678
+ 'marginMode': False,
679
+ 'limit': 1000,
680
+ 'daysBack': 100000, # todo
681
+ 'daysBackCanceled': 1, # todo
682
+ 'untilDays': 100000, # todo
683
+ 'trigger': False,
684
+ 'trailing': False,
685
+ 'symbolRequired': True,
686
+ },
687
+ 'fetchOHLCV': {
688
+ 'limit': 1000,
689
+ },
690
+ },
691
+ 'swap': {
692
+ 'linear': None,
693
+ 'inverse': None,
694
+ },
695
+ 'future': {
696
+ 'linear': None,
697
+ 'inverse': None,
698
+ },
699
+ },
622
700
  })
623
701
 
624
702
  def nonce(self):
625
703
  return self.milliseconds() - self.options['timeDifference']
626
704
 
627
- def fetch_time(self, params={}):
705
+ def fetch_time(self, params={}) -> Int:
628
706
  """
629
- :see: https://www.tokocrypto.com/apidocs/#check-server-time
707
+
708
+ https://www.tokocrypto.com/apidocs/#check-server-time
709
+
630
710
  fetches the current integer timestamp in milliseconds from the exchange server
631
711
  :param dict [params]: extra parameters specific to the exchange API endpoint
632
712
  :returns int: the current integer timestamp in milliseconds from the exchange server
633
713
  """
634
714
  response = self.publicGetOpenV1CommonTime(params)
635
715
  #
716
+ # {
717
+ # "code": 0,
718
+ # "msg": "Success",
719
+ # "data": null,
720
+ # "timestamp": 1737378074159
721
+ # }
636
722
  #
637
- #
638
- return self.safe_integer(response, 'serverTime')
723
+ return self.safe_integer(response, 'timestamp')
639
724
 
640
725
  def fetch_markets(self, params={}) -> List[Market]:
641
726
  """
642
- :see: https://www.tokocrypto.com/apidocs/#get-all-supported-trading-symbol
727
+
728
+ https://www.tokocrypto.com/apidocs/#get-all-supported-trading-symbol
729
+
643
730
  retrieves data on all markets for tokocrypto
644
731
  :param dict [params]: extra parameters specific to the exchange API endpoint
645
732
  :returns dict[]: an array of objects representing market data
@@ -793,7 +880,9 @@ class tokocrypto(Exchange, ImplicitAPI):
793
880
 
794
881
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
795
882
  """
796
- :see: https://www.tokocrypto.com/apidocs/#order-book
883
+
884
+ https://www.tokocrypto.com/apidocs/#order-book
885
+
797
886
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
798
887
  :param str symbol: unified symbol of the market to fetch the order book for
799
888
  :param int [limit]: the maximum amount of order book entries to return
@@ -989,8 +1078,10 @@ class tokocrypto(Exchange, ImplicitAPI):
989
1078
 
990
1079
  def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
991
1080
  """
992
- :see: https://www.tokocrypto.com/apidocs/#recent-trades-list
993
- :see: https://www.tokocrypto.com/apidocs/#compressedaggregate-trades-list
1081
+
1082
+ https://www.tokocrypto.com/apidocs/#recent-trades-list
1083
+ https://www.tokocrypto.com/apidocs/#compressedaggregate-trades-list
1084
+
994
1085
  get the list of most recent trades for a particular symbol
995
1086
  :param str symbol: unified symbol of the market to fetch trades for
996
1087
  :param int [since]: timestamp in ms of the earliest trade to fetch
@@ -1171,7 +1262,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1171
1262
 
1172
1263
  def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
1173
1264
  """
1174
- :see: https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics
1265
+
1266
+ https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics
1267
+
1175
1268
  fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
1176
1269
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
1177
1270
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1188,7 +1281,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1188
1281
 
1189
1282
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
1190
1283
  """
1191
- :see: https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics
1284
+
1285
+ https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics
1286
+
1192
1287
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
1193
1288
  :param str symbol: unified symbol of the market to fetch the ticker for
1194
1289
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1207,7 +1302,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1207
1302
 
1208
1303
  def fetch_bids_asks(self, symbols: Strings = None, params={}):
1209
1304
  """
1210
- :see: https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker
1305
+
1306
+ https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker
1307
+
1211
1308
  fetches the bid and ask price and volume for multiple markets
1212
1309
  :param str[]|None symbols: unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
1213
1310
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1263,7 +1360,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1263
1360
 
1264
1361
  def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1265
1362
  """
1266
- :see: https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data
1363
+
1364
+ https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data
1365
+
1267
1366
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1268
1367
  :param str symbol: unified symbol of the market to fetch OHLCV data for
1269
1368
  :param str timeframe: the length of time each candle represents
@@ -1314,7 +1413,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1314
1413
 
1315
1414
  def fetch_balance(self, params={}) -> Balances:
1316
1415
  """
1317
- :see: https://www.tokocrypto.com/apidocs/#account-information-signed
1416
+
1417
+ https://www.tokocrypto.com/apidocs/#account-information-signed
1418
+
1318
1419
  query for balance and get the amount of funds available for trading or funds locked in orders
1319
1420
  :param dict [params]: extra parameters specific to the exchange API endpoint
1320
1421
  :param str [params.type]: 'future', 'delivery', 'savings', 'funding', or 'spot'
@@ -1518,8 +1619,6 @@ class tokocrypto(Exchange, ImplicitAPI):
1518
1619
  # GTX means "Good Till Crossing" and is an equivalent way of saying Post Only
1519
1620
  timeInForce = 'PO'
1520
1621
  postOnly = (type == 'limit_maker') or (timeInForce == 'PO')
1521
- stopPriceString = self.safe_string(order, 'stopPrice')
1522
- stopPrice = self.parse_number(self.omit_zero(stopPriceString))
1523
1622
  return self.safe_order({
1524
1623
  'info': order,
1525
1624
  'id': id,
@@ -1534,8 +1633,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1534
1633
  'reduceOnly': self.safe_value(order, 'reduceOnly'),
1535
1634
  'side': side,
1536
1635
  'price': price,
1537
- 'stopPrice': stopPrice,
1538
- 'triggerPrice': stopPrice,
1636
+ 'triggerPrice': self.parse_number(self.omit_zero(self.safe_string(order, 'stopPrice'))),
1539
1637
  'amount': amount,
1540
1638
  'cost': cost,
1541
1639
  'average': average,
@@ -1558,13 +1656,14 @@ class tokocrypto(Exchange, ImplicitAPI):
1558
1656
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
1559
1657
  """
1560
1658
  create a trade order
1561
- :see: https://www.tokocrypto.com/apidocs/#new-order--signed
1562
- :see: https://www.tokocrypto.com/apidocs/#account-trade-list-signed
1659
+
1660
+ https://www.tokocrypto.com/apidocs/#new-order--signed
1661
+
1563
1662
  :param str symbol: unified symbol of the market to create an order in
1564
1663
  :param str type: 'market' or 'limit'
1565
1664
  :param str side: 'buy' or 'sell'
1566
1665
  :param float amount: how much of currency you want to trade in units of base currency
1567
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1666
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1568
1667
  :param dict [params]: extra parameters specific to the exchange API endpoint
1569
1668
  :param float [params.triggerPrice]: the price at which a trigger order would be triggered
1570
1669
  :param float [params.cost]: for spot market buy orders, the quote quantity that can be used alternative for the amount
@@ -1580,8 +1679,8 @@ class tokocrypto(Exchange, ImplicitAPI):
1580
1679
  params = self.omit(params, ['clientId', 'clientOrderId'])
1581
1680
  initialUppercaseType = type.upper()
1582
1681
  uppercaseType = initialUppercaseType
1583
- stopPrice = self.safe_value_2(params, 'triggerPrice', 'stopPrice')
1584
- if stopPrice is not None:
1682
+ triggerPrice = self.safe_value_2(params, 'triggerPrice', 'stopPrice')
1683
+ if triggerPrice is not None:
1585
1684
  params = self.omit(params, ['triggerPrice', 'stopPrice'])
1586
1685
  if uppercaseType == 'MARKET':
1587
1686
  uppercaseType = 'STOP_LOSS'
@@ -1590,7 +1689,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1590
1689
  validOrderTypes = self.safe_value(market['info'], 'orderTypes')
1591
1690
  if not self.in_array(uppercaseType, validOrderTypes):
1592
1691
  if initialUppercaseType != uppercaseType:
1593
- raise InvalidOrder(self.id + ' stopPrice parameter is not allowed for ' + symbol + ' ' + type + ' orders')
1692
+ raise InvalidOrder(self.id + ' triggerPrice parameter is not allowed for ' + symbol + ' ' + type + ' orders')
1594
1693
  else:
1595
1694
  raise InvalidOrder(self.id + ' ' + type + ' is not a valid order type for the ' + symbol + ' market')
1596
1695
  reverseOrderTypeMapping: dict = {
@@ -1620,7 +1719,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1620
1719
  request['clientId'] = clientOrderId
1621
1720
  # additional required fields depending on the order type
1622
1721
  priceIsRequired = False
1623
- stopPriceIsRequired = False
1722
+ triggerPriceIsRequired = False
1624
1723
  quantityIsRequired = False
1625
1724
  #
1626
1725
  # spot/margin
@@ -1659,13 +1758,13 @@ class tokocrypto(Exchange, ImplicitAPI):
1659
1758
  priceIsRequired = True
1660
1759
  quantityIsRequired = True
1661
1760
  elif (uppercaseType == 'STOP_LOSS') or (uppercaseType == 'TAKE_PROFIT'):
1662
- stopPriceIsRequired = True
1761
+ triggerPriceIsRequired = True
1663
1762
  quantityIsRequired = True
1664
1763
  if market['linear'] or market['inverse']:
1665
1764
  priceIsRequired = True
1666
1765
  elif (uppercaseType == 'STOP_LOSS_LIMIT') or (uppercaseType == 'TAKE_PROFIT_LIMIT'):
1667
1766
  quantityIsRequired = True
1668
- stopPriceIsRequired = True
1767
+ triggerPriceIsRequired = True
1669
1768
  priceIsRequired = True
1670
1769
  elif uppercaseType == 'LIMIT_MAKER':
1671
1770
  priceIsRequired = True
@@ -1676,11 +1775,11 @@ class tokocrypto(Exchange, ImplicitAPI):
1676
1775
  if price is None:
1677
1776
  raise InvalidOrder(self.id + ' createOrder() requires a price argument for a ' + type + ' order')
1678
1777
  request['price'] = self.price_to_precision(symbol, price)
1679
- if stopPriceIsRequired:
1680
- if stopPrice is None:
1681
- raise InvalidOrder(self.id + ' createOrder() requires a stopPrice extra param for a ' + type + ' order')
1778
+ if triggerPriceIsRequired:
1779
+ if triggerPrice is None:
1780
+ raise InvalidOrder(self.id + ' createOrder() requires a triggerPrice extra param for a ' + type + ' order')
1682
1781
  else:
1683
- request['stopPrice'] = self.price_to_precision(symbol, stopPrice)
1782
+ request['stopPrice'] = self.price_to_precision(symbol, triggerPrice)
1684
1783
  response = self.privatePostOpenV1Orders(self.extend(request, params))
1685
1784
  #
1686
1785
  # {
@@ -1715,8 +1814,11 @@ class tokocrypto(Exchange, ImplicitAPI):
1715
1814
 
1716
1815
  def fetch_order(self, id: str, symbol: Str = None, params={}):
1717
1816
  """
1718
- :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1817
+
1818
+ https://www.tokocrypto.com/apidocs/#query-order-signed
1819
+
1719
1820
  fetches information on an order made by the user
1821
+ :param str id: order id
1720
1822
  :param str symbol: unified symbol of the market the order was made in
1721
1823
  :param dict [params]: extra parameters specific to the exchange API endpoint
1722
1824
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1762,7 +1864,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1762
1864
 
1763
1865
  def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1764
1866
  """
1765
- :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1867
+
1868
+ https://www.tokocrypto.com/apidocs/#all-orders-signed
1869
+
1766
1870
  fetches information on multiple orders made by the user
1767
1871
  :param str symbol: unified market symbol of the market orders were made in
1768
1872
  :param int [since]: the earliest time in ms to fetch orders for
@@ -1828,7 +1932,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1828
1932
 
1829
1933
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1830
1934
  """
1831
- :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1935
+
1936
+ https://www.tokocrypto.com/apidocs/#all-orders-signed
1937
+
1832
1938
  fetch all unfilled currently open orders
1833
1939
  :param str symbol: unified market symbol
1834
1940
  :param int [since]: the earliest time in ms to fetch open orders for
@@ -1841,7 +1947,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1841
1947
 
1842
1948
  def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1843
1949
  """
1844
- :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1950
+
1951
+ https://www.tokocrypto.com/apidocs/#all-orders-signed
1952
+
1845
1953
  fetches information on multiple closed orders made by the user
1846
1954
  :param str symbol: unified market symbol of the market orders were made in
1847
1955
  :param int [since]: the earliest time in ms to fetch orders for
@@ -1854,7 +1962,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1854
1962
 
1855
1963
  def cancel_order(self, id: str, symbol: Str = None, params={}):
1856
1964
  """
1857
- :see: https://www.tokocrypto.com/apidocs/#cancel-order-signed
1965
+
1966
+ https://www.tokocrypto.com/apidocs/#cancel-order-signed
1967
+
1858
1968
  cancels an open order
1859
1969
  :param str id: order id
1860
1970
  :param str symbol: unified symbol of the market the order was made in
@@ -1897,7 +2007,9 @@ class tokocrypto(Exchange, ImplicitAPI):
1897
2007
 
1898
2008
  def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1899
2009
  """
1900
- :see: https://www.tokocrypto.com/apidocs/#account-trade-list-signed
2010
+
2011
+ https://www.tokocrypto.com/apidocs/#account-trade-list-signed
2012
+
1901
2013
  fetch all trades made by the user
1902
2014
  :param str symbol: unified market symbol
1903
2015
  :param int [since]: the earliest time in ms to fetch trades for
@@ -1950,10 +2062,12 @@ class tokocrypto(Exchange, ImplicitAPI):
1950
2062
  trades = self.safe_list(data, 'list', [])
1951
2063
  return self.parse_trades(trades, market, since, limit)
1952
2064
 
1953
- def fetch_deposit_address(self, code: str, params={}):
2065
+ def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
1954
2066
  """
1955
- :see: https://www.tokocrypto.com/apidocs/#deposit-address-signed
1956
2067
  fetch the deposit address for a currency associated with self account
2068
+
2069
+ https://www.tokocrypto.com/apidocs/#deposit-address-signed
2070
+
1957
2071
  :param str code: unified currency code
1958
2072
  :param dict [params]: extra parameters specific to the exchange API endpoint
1959
2073
  :returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
@@ -1995,16 +2109,18 @@ class tokocrypto(Exchange, ImplicitAPI):
1995
2109
  tag = None
1996
2110
  self.check_address(address)
1997
2111
  return {
2112
+ 'info': response,
1998
2113
  'currency': code,
2114
+ 'network': self.safe_string(data, 'network'),
1999
2115
  'address': address,
2000
2116
  'tag': tag,
2001
- 'network': self.safe_string(data, 'network'),
2002
- 'info': response,
2003
2117
  }
2004
2118
 
2005
2119
  def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
2006
2120
  """
2007
- :see: https://www.tokocrypto.com/apidocs/#deposit-history-signed
2121
+
2122
+ https://www.tokocrypto.com/apidocs/#deposit-history-signed
2123
+
2008
2124
  fetch all deposits made to an account
2009
2125
  :param str code: unified currency code
2010
2126
  :param int [since]: the earliest time in ms to fetch deposits for
@@ -2059,7 +2175,9 @@ class tokocrypto(Exchange, ImplicitAPI):
2059
2175
 
2060
2176
  def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
2061
2177
  """
2062
- :see: https://www.tokocrypto.com/apidocs/#withdraw-signed
2178
+
2179
+ https://www.tokocrypto.com/apidocs/#withdraw-signed
2180
+
2063
2181
  fetch all withdrawals made from an account
2064
2182
  :param str code: unified currency code
2065
2183
  :param int [since]: the earliest time in ms to fetch withdrawals for
@@ -2235,9 +2353,11 @@ class tokocrypto(Exchange, ImplicitAPI):
2235
2353
  'fee': fee,
2236
2354
  }
2237
2355
 
2238
- def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
2356
+ def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
2239
2357
  """
2240
- :see: https://www.tokocrypto.com/apidocs/#withdraw-signed
2358
+
2359
+ https://www.tokocrypto.com/apidocs/#withdraw-signed
2360
+
2241
2361
  make a withdrawal
2242
2362
  :param str code: unified currency code
2243
2363
  :param float amount: the amount to withdraw