ccxt-ir 4.3.46.0.3__py2.py3-none-any.whl → 4.5.1__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 +8 -8
  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 +10 -10
  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 +32 -38
  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 +32 -27
  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 +34 -30
  183. ccxt/async_support/sarmayex.py +9 -9
  184. ccxt/async_support/sarrafex.py +13 -13
  185. ccxt/async_support/tabdeal.py +15 -14
  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 +30 -36
  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 +29 -24
  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 +32 -28
  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 +13 -12
  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.1.dist-info}/METADATA +225 -73
  435. ccxt_ir-4.5.1.dist-info/RECORD +743 -0
  436. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.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.1.dist-info/licenses}/LICENSE.txt +0 -0
  529. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info}/top_level.txt +0 -0
@@ -5,8 +5,9 @@
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.yobit import ImplicitAPI
8
+ import asyncio
8
9
  import hashlib
9
- from ccxt.base.types import Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees
10
+ from ccxt.base.types import Any, Balances, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, OrderBooks, Trade, TradingFees, Transaction
10
11
  from typing import List
11
12
  from ccxt.base.errors import ExchangeError
12
13
  from ccxt.base.errors import AuthenticationError
@@ -24,7 +25,7 @@ from ccxt.base.precise import Precise
24
25
 
25
26
  class yobit(Exchange, ImplicitAPI):
26
27
 
27
- def describe(self):
28
+ def describe(self) -> Any:
28
29
  return self.deep_extend(super(yobit, self).describe(), {
29
30
  'id': 'yobit',
30
31
  'name': 'YoBit',
@@ -51,27 +52,48 @@ class yobit(Exchange, ImplicitAPI):
51
52
  'createStopMarketOrder': False,
52
53
  'createStopOrder': False,
53
54
  'fetchBalance': True,
55
+ 'fetchBorrowInterest': False,
56
+ 'fetchBorrowRate': False,
54
57
  'fetchBorrowRateHistories': False,
55
58
  'fetchBorrowRateHistory': False,
59
+ 'fetchBorrowRates': False,
60
+ 'fetchBorrowRatesPerSymbol': False,
56
61
  'fetchCrossBorrowRate': False,
57
62
  'fetchCrossBorrowRates': False,
58
63
  'fetchDepositAddress': True,
64
+ 'fetchDepositAddresses': False,
65
+ 'fetchDepositAddressesByNetwork': False,
59
66
  'fetchDeposits': False,
60
67
  'fetchFundingHistory': False,
68
+ 'fetchFundingInterval': False,
69
+ 'fetchFundingIntervals': False,
61
70
  'fetchFundingRate': False,
62
71
  'fetchFundingRateHistory': False,
63
72
  'fetchFundingRates': False,
73
+ 'fetchGreeks': False,
64
74
  'fetchIndexOHLCV': False,
65
75
  'fetchIsolatedBorrowRate': False,
66
76
  'fetchIsolatedBorrowRates': False,
77
+ 'fetchIsolatedPositions': False,
67
78
  'fetchLeverage': False,
79
+ 'fetchLeverages': False,
68
80
  'fetchLeverageTiers': False,
81
+ 'fetchLiquidations': False,
82
+ 'fetchMarginAdjustmentHistory': False,
69
83
  'fetchMarginMode': False,
84
+ 'fetchMarginModes': False,
85
+ 'fetchMarketLeverageTiers': False,
70
86
  'fetchMarkets': True,
71
87
  'fetchMarkOHLCV': False,
88
+ 'fetchMarkPrices': False,
89
+ 'fetchMyLiquidations': False,
90
+ 'fetchMySettlementHistory': False,
72
91
  'fetchMyTrades': True,
92
+ 'fetchOpenInterest': False,
73
93
  'fetchOpenInterestHistory': False,
74
94
  'fetchOpenOrders': True,
95
+ 'fetchOption': False,
96
+ 'fetchOptionChain': False,
75
97
  'fetchOrder': True,
76
98
  'fetchOrderBook': True,
77
99
  'fetchOrderBooks': True,
@@ -83,6 +105,7 @@ class yobit(Exchange, ImplicitAPI):
83
105
  'fetchPositionsHistory': False,
84
106
  'fetchPositionsRisk': False,
85
107
  'fetchPremiumIndexOHLCV': False,
108
+ 'fetchSettlementHistory': False,
86
109
  'fetchTicker': True,
87
110
  'fetchTickers': True,
88
111
  'fetchTrades': True,
@@ -91,9 +114,14 @@ class yobit(Exchange, ImplicitAPI):
91
114
  'fetchTransactions': False,
92
115
  'fetchTransfer': False,
93
116
  'fetchTransfers': False,
117
+ 'fetchUnderlyingAssets': False,
118
+ 'fetchVolatilityHistory': False,
94
119
  'fetchWithdrawals': False,
95
120
  'reduceMargin': False,
121
+ 'repayCrossMargin': False,
122
+ 'repayIsolatedMargin': False,
96
123
  'setLeverage': False,
124
+ 'setMargin': False,
97
125
  'setMarginMode': False,
98
126
  'setPositionMode': False,
99
127
  'transfer': False,
@@ -248,6 +276,7 @@ class yobit(Exchange, ImplicitAPI):
248
276
  'XIN': 'XINCoin',
249
277
  'XMT': 'SummitCoin',
250
278
  'XRA': 'Ratecoin',
279
+ 'BCHN': 'BSV',
251
280
  },
252
281
  'options': {
253
282
  'maxUrlLength': 2048,
@@ -291,6 +320,65 @@ class yobit(Exchange, ImplicitAPI):
291
320
  'Rate Limited': RateLimitExceeded,
292
321
  },
293
322
  },
323
+ 'features': {
324
+ 'spot': {
325
+ 'sandbox': False,
326
+ 'createOrder': {
327
+ 'marginMode': False,
328
+ 'triggerPrice': False,
329
+ 'triggerDirection': False,
330
+ 'triggerPriceType': None,
331
+ 'stopLossPrice': False,
332
+ 'takeProfitPrice': False,
333
+ 'attachedStopLossTakeProfit': None,
334
+ 'timeInForce': {
335
+ 'IOC': False,
336
+ 'FOK': False,
337
+ 'PO': False,
338
+ 'GTD': False,
339
+ },
340
+ 'hedged': False,
341
+ 'trailing': False,
342
+ 'leverage': False,
343
+ 'marketBuyByCost': False,
344
+ 'marketBuyRequiresPrice': False,
345
+ 'selfTradePrevention': False,
346
+ 'iceberg': False,
347
+ },
348
+ 'createOrders': None,
349
+ 'fetchMyTrades': {
350
+ 'marginMode': False,
351
+ 'limit': 1000,
352
+ 'daysBack': 100000, # todo
353
+ 'untilDays': 100000, # todo
354
+ 'symbolRequired': True,
355
+ },
356
+ 'fetchOrder': {
357
+ 'marginMode': False,
358
+ 'trigger': False,
359
+ 'trailing': False,
360
+ 'symbolRequired': False,
361
+ },
362
+ 'fetchOpenOrders': {
363
+ 'marginMode': False,
364
+ 'limit': None,
365
+ 'trigger': False,
366
+ 'trailing': False,
367
+ 'symbolRequired': True,
368
+ },
369
+ 'fetchOrders': None,
370
+ 'fetchClosedOrders': None,
371
+ 'fetchOHLCV': None,
372
+ },
373
+ 'swap': {
374
+ 'linear': None,
375
+ 'inverse': None,
376
+ },
377
+ 'future': {
378
+ 'linear': None,
379
+ 'inverse': None,
380
+ },
381
+ },
294
382
  'orders': {}, # orders cache / emulation
295
383
  })
296
384
 
@@ -316,7 +404,9 @@ class yobit(Exchange, ImplicitAPI):
316
404
 
317
405
  async def fetch_balance(self, params={}) -> Balances:
318
406
  """
319
- :see: https://yobit.net/en/api
407
+
408
+ https://yobit.net/en/api
409
+
320
410
  query for balance and get the amount of funds available for trading or funds locked in orders
321
411
  :param dict [params]: extra parameters specific to the exchange API endpoint
322
412
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
@@ -352,7 +442,9 @@ class yobit(Exchange, ImplicitAPI):
352
442
 
353
443
  async def fetch_markets(self, params={}) -> List[Market]:
354
444
  """
355
- :see: https://yobit.net/en/api
445
+
446
+ https://yobit.net/en/api
447
+
356
448
  retrieves data on all markets for yobit
357
449
  :param dict [params]: extra parameters specific to the exchange API endpoint
358
450
  :returns dict[]: an array of objects representing market data
@@ -446,7 +538,9 @@ class yobit(Exchange, ImplicitAPI):
446
538
 
447
539
  async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
448
540
  """
449
- :see: https://yobit.net/en/api
541
+
542
+ https://yobit.net/en/api
543
+
450
544
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
451
545
  :param str symbol: unified symbol of the market to fetch the order book for
452
546
  :param int [limit]: the maximum amount of order book entries to return
@@ -467,9 +561,11 @@ class yobit(Exchange, ImplicitAPI):
467
561
  orderbook = response[market['id']]
468
562
  return self.parse_order_book(orderbook, symbol)
469
563
 
470
- async def fetch_order_books(self, symbols: Strings = None, limit: Int = None, params={}):
564
+ async def fetch_order_books(self, symbols: Strings = None, limit: Int = None, params={}) -> OrderBooks:
471
565
  """
472
- :see: https://yobit.net/en/api
566
+
567
+ https://yobit.net/en/api
568
+
473
569
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data for multiple markets
474
570
  :param str[]|None symbols: list of unified market symbols, all symbols fetched if None, default is None
475
571
  :param int [limit]: max number of entries per orderbook to return, default is None
@@ -541,31 +637,7 @@ class yobit(Exchange, ImplicitAPI):
541
637
  'info': ticker,
542
638
  }, market)
543
639
 
544
- async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
545
- """
546
- :see: https://yobit.net/en/api
547
- fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
548
- :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
549
- :param dict [params]: extra parameters specific to the exchange API endpoint
550
- :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
551
- """
552
- if symbols is None:
553
- raise ArgumentsRequired(self.id + ' fetchTickers() requires "symbols" argument')
554
- await self.load_markets()
555
- symbols = self.market_symbols(symbols)
556
- ids = None
557
- if symbols is None:
558
- ids = self.ids
559
- else:
560
- ids = self.market_ids(symbols)
561
- idsLength = len(ids)
562
- idsString = '-'.join(ids)
563
- maxLength = self.safe_integer(self.options, 'maxUrlLength', 2048)
564
- # max URL length is 2048 symbols, including http schema, hostname, tld, etc...
565
- lenghtOfBaseUrl = 30 # the url including api-base and endpoint dir is 30 chars
566
- actualLength = len(idsString) + lenghtOfBaseUrl
567
- if actualLength > maxLength:
568
- raise ArgumentsRequired(self.id + ' fetchTickers() is being requested for ' + str(idsLength) + ' markets(which has an URL length of ' + str(actualLength) + ' characters), but it exceedes max URL length(' + str(maxLength) + '), please pass limisted symbols array to fetchTickers to fit in one request')
640
+ async def fetch_tickers_helper(self, idsString: str, params={}) -> Tickers:
569
641
  request: dict = {
570
642
  'pair': idsString,
571
643
  }
@@ -578,11 +650,61 @@ class yobit(Exchange, ImplicitAPI):
578
650
  market = self.safe_market(id)
579
651
  symbol = market['symbol']
580
652
  result[symbol] = self.parse_ticker(ticker, market)
581
- return self.filter_by_array_tickers(result, 'symbol', symbols)
653
+ return result
654
+
655
+ async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
656
+ """
657
+
658
+ https://yobit.net/en/api
659
+
660
+ fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
661
+ :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
662
+ :param dict [params]: extra parameters specific to the exchange API endpoint
663
+ :param dict [params.all]: you can set to `true` for convenience to fetch all tickers from self exchange by sending multiple requests
664
+ :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
665
+ """
666
+ allSymbols = None
667
+ allSymbols, params = self.handle_param_bool(params, 'all', False)
668
+ if symbols is None and not allSymbols:
669
+ raise ArgumentsRequired(self.id + ' fetchTickers() requires "symbols" argument or use `params["all"] = True` to send multiple requests for all markets')
670
+ await self.load_markets()
671
+ promises = []
672
+ maxLength = self.safe_integer(self.options, 'maxUrlLength', 2048)
673
+ # max URL length is 2048 symbols, including http schema, hostname, tld, etc...
674
+ lenghtOfBaseUrl = 40 # safe space for the url including api-base and endpoint dir is 30 chars
675
+ if allSymbols:
676
+ symbols = self.symbols
677
+ ids = ''
678
+ for i in range(0, len(self.ids)):
679
+ id = self.ids[i]
680
+ prefix = '' if (ids == '') else '-'
681
+ ids += prefix + id
682
+ if len(ids) > maxLength:
683
+ promises.append(self.fetch_tickers_helper(ids, params))
684
+ ids = ''
685
+ if ids != '':
686
+ promises.append(self.fetch_tickers_helper(ids, params))
687
+ else:
688
+ symbols = self.market_symbols(symbols)
689
+ ids = self.market_ids(symbols)
690
+ idsLength: number = len(ids)
691
+ idsString = '-'.join(ids)
692
+ actualLength = len(idsString) + lenghtOfBaseUrl
693
+ if actualLength > maxLength:
694
+ raise ArgumentsRequired(self.id + ' fetchTickers() is being requested for ' + str(idsLength) + ' markets(which has an URL length of ' + str(actualLength) + ' characters), but it exceedes max URL length(' + str(maxLength) + '), please pass limisted symbols array to fetchTickers to fit in one request')
695
+ promises.append(self.fetch_tickers_helper(idsString, params))
696
+ resultAll = await asyncio.gather(*promises)
697
+ finalResult = {}
698
+ for i in range(0, len(resultAll)):
699
+ result = self.filter_by_array_tickers(resultAll[i], 'symbol', symbols)
700
+ finalResult = self.extend(finalResult, result)
701
+ return finalResult
582
702
 
583
703
  async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
584
704
  """
585
- :see: https://yobit.net/en/api
705
+
706
+ https://yobit.net/en/api
707
+
586
708
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
587
709
  :param str symbol: unified symbol of the market to fetch the ticker for
588
710
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -667,7 +789,9 @@ class yobit(Exchange, ImplicitAPI):
667
789
 
668
790
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
669
791
  """
670
- :see: https://yobit.net/en/api
792
+
793
+ https://yobit.net/en/api
794
+
671
795
  get the list of most recent trades for a particular symbol
672
796
  :param str symbol: unified symbol of the market to fetch trades for
673
797
  :param int [since]: timestamp in ms of the earliest trade to fetch
@@ -705,7 +829,9 @@ class yobit(Exchange, ImplicitAPI):
705
829
 
706
830
  async def fetch_trading_fees(self, params={}) -> TradingFees:
707
831
  """
708
- :see: https://yobit.net/en/api
832
+
833
+ https://yobit.net/en/api
834
+
709
835
  fetch the trading fees for multiple markets
710
836
  :param dict [params]: extra parameters specific to the exchange API endpoint
711
837
  :returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
@@ -754,13 +880,15 @@ class yobit(Exchange, ImplicitAPI):
754
880
 
755
881
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
756
882
  """
757
- :see: https://yobit.net/en/api
883
+
884
+ https://yobit.net/en/api
885
+
758
886
  create a trade order
759
887
  :param str symbol: unified symbol of the market to create an order in
760
888
  :param str type: must be 'limit'
761
889
  :param str side: 'buy' or 'sell'
762
890
  :param float amount: how much of currency you want to trade in units of base currency
763
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
891
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
764
892
  :param dict [params]: extra parameters specific to the exchange API endpoint
765
893
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
766
894
  """
@@ -801,7 +929,9 @@ class yobit(Exchange, ImplicitAPI):
801
929
 
802
930
  async def cancel_order(self, id: str, symbol: Str = None, params={}):
803
931
  """
804
- :see: https://yobit.net/en/api
932
+
933
+ https://yobit.net/en/api
934
+
805
935
  cancels an open order
806
936
  :param str id: order id
807
937
  :param str symbol: not used by yobit cancelOrder()
@@ -934,7 +1064,6 @@ class yobit(Exchange, ImplicitAPI):
934
1064
  'postOnly': None,
935
1065
  'side': side,
936
1066
  'price': price,
937
- 'stopPrice': None,
938
1067
  'triggerPrice': None,
939
1068
  'cost': None,
940
1069
  'amount': amount,
@@ -948,8 +1077,11 @@ class yobit(Exchange, ImplicitAPI):
948
1077
 
949
1078
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
950
1079
  """
951
- :see: https://yobit.net/en/api
1080
+
1081
+ https://yobit.net/en/api
1082
+
952
1083
  fetches information on an order made by the user
1084
+ :param str id: order id
953
1085
  :param str symbol: not used by yobit fetchOrder
954
1086
  :param dict [params]: extra parameters specific to the exchange API endpoint
955
1087
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -981,7 +1113,9 @@ class yobit(Exchange, ImplicitAPI):
981
1113
 
982
1114
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
983
1115
  """
984
- :see: https://yobit.net/en/api
1116
+
1117
+ https://yobit.net/en/api
1118
+
985
1119
  fetch all unfilled currently open orders
986
1120
  :param str symbol: unified market symbol
987
1121
  :param int [since]: the earliest time in ms to fetch open orders for
@@ -1026,7 +1160,9 @@ class yobit(Exchange, ImplicitAPI):
1026
1160
 
1027
1161
  async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1028
1162
  """
1029
- :see: https://yobit.net/en/api
1163
+
1164
+ https://yobit.net/en/api
1165
+
1030
1166
  fetch all trades made by the user
1031
1167
  :param str symbol: unified market symbol
1032
1168
  :param int [since]: the earliest time in ms to fetch trades for
@@ -1074,16 +1210,18 @@ class yobit(Exchange, ImplicitAPI):
1074
1210
  ids = list(trades.keys())
1075
1211
  result = []
1076
1212
  for i in range(0, len(ids)):
1077
- id = ids[i]
1213
+ id = self.safe_string(ids, i)
1078
1214
  trade = self.parse_trade(self.extend(trades[id], {
1079
1215
  'trade_id': id,
1080
1216
  }), market)
1081
1217
  result.append(trade)
1082
1218
  return self.filter_by_symbol_since_limit(result, market['symbol'], since, limit)
1083
1219
 
1084
- async def create_deposit_address(self, code: str, params={}):
1220
+ async def create_deposit_address(self, code: str, params={}) -> DepositAddress:
1085
1221
  """
1086
- :see: https://yobit.net/en/api
1222
+
1223
+ https://yobit.net/en/api
1224
+
1087
1225
  create a currency deposit address
1088
1226
  :param str code: unified currency code of the currency for the deposit address
1089
1227
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1099,13 +1237,16 @@ class yobit(Exchange, ImplicitAPI):
1099
1237
  'currency': code,
1100
1238
  'address': address,
1101
1239
  'tag': None,
1240
+ 'network': None,
1102
1241
  'info': response['info'],
1103
1242
  }
1104
1243
 
1105
- async def fetch_deposit_address(self, code: str, params={}):
1244
+ async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
1106
1245
  """
1107
- :see: https://yobit.net/en/api
1108
1246
  fetch the deposit address for a currency associated with self account
1247
+
1248
+ https://yobit.net/en/api
1249
+
1109
1250
  :param str code: unified currency code
1110
1251
  :param dict [params]: extra parameters specific to the exchange API endpoint
1111
1252
  :returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
@@ -1128,34 +1269,18 @@ class yobit(Exchange, ImplicitAPI):
1128
1269
  address = self.safe_string(response['return'], 'address')
1129
1270
  self.check_address(address)
1130
1271
  return {
1131
- 'id': None,
1272
+ 'info': response,
1132
1273
  'currency': code,
1274
+ 'network': None,
1133
1275
  'address': address,
1134
1276
  'tag': None,
1135
- 'network': None,
1136
- 'info': response,
1137
- 'txid': None,
1138
- 'type': None,
1139
- 'amount': None,
1140
- 'status': None,
1141
- 'timestamp': None,
1142
- 'datetime': None,
1143
- 'addressFrom': None,
1144
- 'addressTo': None,
1145
- 'tagFrom': None,
1146
- 'tagTo': None,
1147
- 'updated': None,
1148
- 'comment': None,
1149
- 'fee': {
1150
- 'currency': None,
1151
- 'cost': None,
1152
- 'rate': None,
1153
- },
1154
1277
  }
1155
1278
 
1156
- async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
1279
+ async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
1157
1280
  """
1158
- :see: https://yobit.net/en/api
1281
+
1282
+ https://yobit.net/en/api
1283
+
1159
1284
  make a withdrawal
1160
1285
  :param str code: unified currency code
1161
1286
  :param float amount: the amount to withdraw