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