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
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.zaif import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
9
+ from ccxt.base.types import Any, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import BadRequest
@@ -16,7 +16,7 @@ from ccxt.base.precise import Precise
16
16
 
17
17
  class zaif(Exchange, ImplicitAPI):
18
18
 
19
- def describe(self):
19
+ def describe(self) -> Any:
20
20
  return self.deep_extend(super(zaif, self).describe(), {
21
21
  'id': 'zaif',
22
22
  'name': 'Zaif',
@@ -133,6 +133,63 @@ class zaif(Exchange, ImplicitAPI):
133
133
  },
134
134
  'options': {
135
135
  },
136
+ 'features': {
137
+ 'spot': {
138
+ 'sandbox': False,
139
+ 'createOrder': {
140
+ 'marginMode': True, # todo
141
+ 'triggerPrice': True, # todo implement
142
+ 'triggerDirection': False,
143
+ 'triggerPriceType': None,
144
+ 'stopLossPrice': False, # todo
145
+ 'takeProfitPrice': False, # todo
146
+ 'attachedStopLossTakeProfit': None,
147
+ 'timeInForce': {
148
+ 'IOC': False,
149
+ 'FOK': False,
150
+ 'PO': False,
151
+ 'GTD': False,
152
+ },
153
+ 'hedged': False,
154
+ 'trailing': False,
155
+ 'leverage': True, # todo implement
156
+ 'marketBuyByCost': False,
157
+ 'marketBuyRequiresPrice': False,
158
+ 'selfTradePrevention': False,
159
+ 'iceberg': False,
160
+ },
161
+ 'createOrders': None,
162
+ 'fetchMyTrades': None, # todo
163
+ 'fetchOrder': None,
164
+ 'fetchOpenOrders': {
165
+ 'marginMode': True, # todo
166
+ 'limit': None,
167
+ 'trigger': False,
168
+ 'trailing': False,
169
+ 'symbolRequired': False,
170
+ },
171
+ 'fetchOrders': None, # todo
172
+ 'fetchClosedOrders': {
173
+ 'marginMode': True, # todo
174
+ 'limit': 1000,
175
+ 'daysBack': 100000, # todo
176
+ 'daysBackCanceled': 1, # todo
177
+ 'untilDays': 100000, # todo
178
+ 'trigger': False,
179
+ 'trailing': False,
180
+ 'symbolRequired': False,
181
+ },
182
+ 'fetchOHLCV': None,
183
+ },
184
+ 'swap': {
185
+ 'linear': None,
186
+ 'inverse': None,
187
+ },
188
+ 'future': {
189
+ 'linear': None,
190
+ 'inverse': None,
191
+ },
192
+ },
136
193
  'precisionMode': TICK_SIZE,
137
194
  'exceptions': {
138
195
  'exact': {
@@ -145,7 +202,9 @@ class zaif(Exchange, ImplicitAPI):
145
202
 
146
203
  async def fetch_markets(self, params={}) -> List[Market]:
147
204
  """
148
- :see: https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id12
205
+
206
+ https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id12
207
+
149
208
  retrieves data on all markets for zaif
150
209
  :param dict [params]: extra parameters specific to the exchange API endpoint
151
210
  :returns dict[]: an array of objects representing market data
@@ -256,7 +315,9 @@ class zaif(Exchange, ImplicitAPI):
256
315
 
257
316
  async def fetch_balance(self, params={}) -> Balances:
258
317
  """
259
- :see: https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id10
318
+
319
+ https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id10
320
+
260
321
  query for balance and get the amount of funds available for trading or funds locked in orders
261
322
  :param dict [params]: extra parameters specific to the exchange API endpoint
262
323
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
@@ -267,7 +328,9 @@ class zaif(Exchange, ImplicitAPI):
267
328
 
268
329
  async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
269
330
  """
270
- :see: https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id34
331
+
332
+ https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id34
333
+
271
334
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
272
335
  :param str symbol: unified symbol of the market to fetch the order book for
273
336
  :param int [limit]: the maximum amount of order book entries to return
@@ -324,7 +387,9 @@ class zaif(Exchange, ImplicitAPI):
324
387
 
325
388
  async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
326
389
  """
327
- :see: https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id22
390
+
391
+ https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id22
392
+
328
393
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
329
394
  :param str symbol: unified symbol of the market to fetch the ticker for
330
395
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -388,7 +453,9 @@ class zaif(Exchange, ImplicitAPI):
388
453
 
389
454
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
390
455
  """
391
- :see: https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id28
456
+
457
+ https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id28
458
+
392
459
  get the list of most recent trades for a particular symbol
393
460
  :param str symbol: unified symbol of the market to fetch trades for
394
461
  :param int [since]: timestamp in ms of the earliest trade to fetch
@@ -423,13 +490,15 @@ class zaif(Exchange, ImplicitAPI):
423
490
 
424
491
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
425
492
  """
426
- :see: https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id23
493
+
494
+ https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id23
495
+
427
496
  create a trade order
428
497
  :param str symbol: unified symbol of the market to create an order in
429
498
  :param str type: must be 'limit'
430
499
  :param str side: 'buy' or 'sell'
431
500
  :param float amount: how much of currency you want to trade in units of base currency
432
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
501
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
433
502
  :param dict [params]: extra parameters specific to the exchange API endpoint
434
503
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
435
504
  """
@@ -451,7 +520,9 @@ class zaif(Exchange, ImplicitAPI):
451
520
 
452
521
  async def cancel_order(self, id: str, symbol: Str = None, params={}):
453
522
  """
454
- :see: https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id37
523
+
524
+ https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id37
525
+
455
526
  cancels an open order
456
527
  :param str id: order id
457
528
  :param str symbol: not used by zaif cancelOrder()
@@ -523,7 +594,6 @@ class zaif(Exchange, ImplicitAPI):
523
594
  'postOnly': None,
524
595
  'side': side,
525
596
  'price': price,
526
- 'stopPrice': None,
527
597
  'triggerPrice': None,
528
598
  'cost': None,
529
599
  'amount': amount,
@@ -537,7 +607,9 @@ class zaif(Exchange, ImplicitAPI):
537
607
 
538
608
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
539
609
  """
540
- :see: https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id28
610
+
611
+ https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id28
612
+
541
613
  fetch all unfilled currently open orders
542
614
  :param str symbol: unified market symbol
543
615
  :param int [since]: the earliest time in ms to fetch open orders for
@@ -559,7 +631,9 @@ class zaif(Exchange, ImplicitAPI):
559
631
 
560
632
  async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
561
633
  """
562
- :see: https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id24
634
+
635
+ https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id24
636
+
563
637
  fetches information on multiple closed orders made by the user
564
638
  :param str symbol: unified market symbol of the market orders were made in
565
639
  :param int [since]: the earliest time in ms to fetch orders for
@@ -585,9 +659,11 @@ class zaif(Exchange, ImplicitAPI):
585
659
  response = await self.privatePostTradeHistory(self.extend(request, params))
586
660
  return self.parse_orders(response['return'], market, since, limit)
587
661
 
588
- async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
662
+ async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
589
663
  """
590
- :see: https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id41
664
+
665
+ https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id41
666
+
591
667
  make a withdrawal
592
668
  :param str code: unified currency code
593
669
  :param float amount: the amount to withdraw
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.zonda import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import AuthenticationError
@@ -27,7 +27,7 @@ from ccxt.base.precise import Precise
27
27
 
28
28
  class zonda(Exchange, ImplicitAPI):
29
29
 
30
- def describe(self):
30
+ def describe(self) -> Any:
31
31
  return self.deep_extend(super(zonda, self).describe(), {
32
32
  'id': 'zonda',
33
33
  'name': 'Zonda',
@@ -50,32 +50,52 @@ class zonda(Exchange, ImplicitAPI):
50
50
  'createOrder': True,
51
51
  'createReduceOnlyOrder': False,
52
52
  'fetchBalance': True,
53
+ 'fetchBorrowInterest': False,
54
+ 'fetchBorrowRate': False,
53
55
  'fetchBorrowRateHistories': False,
54
56
  'fetchBorrowRateHistory': False,
57
+ 'fetchBorrowRates': False,
58
+ 'fetchBorrowRatesPerSymbol': False,
55
59
  'fetchCrossBorrowRate': False,
56
60
  'fetchCrossBorrowRates': False,
57
61
  'fetchDeposit': False,
58
62
  'fetchDepositAddress': True,
59
63
  'fetchDepositAddresses': True,
64
+ 'fetchDepositAddressesByNetwork': False,
60
65
  'fetchDeposits': None,
61
66
  'fetchFundingHistory': False,
67
+ 'fetchFundingInterval': False,
68
+ 'fetchFundingIntervals': False,
62
69
  'fetchFundingRate': False,
63
70
  'fetchFundingRateHistory': False,
64
71
  'fetchFundingRates': False,
72
+ 'fetchGreeks': False,
65
73
  'fetchIndexOHLCV': False,
66
74
  'fetchIsolatedBorrowRate': False,
67
75
  'fetchIsolatedBorrowRates': False,
76
+ 'fetchIsolatedPositions': False,
68
77
  'fetchLedger': True,
69
78
  'fetchLeverage': False,
79
+ 'fetchLeverages': False,
70
80
  'fetchLeverageTiers': False,
81
+ 'fetchLiquidations': False,
82
+ 'fetchMarginAdjustmentHistory': False,
71
83
  'fetchMarginMode': False,
84
+ 'fetchMarginModes': False,
85
+ 'fetchMarketLeverageTiers': False,
72
86
  'fetchMarkets': True,
73
87
  'fetchMarkOHLCV': False,
88
+ 'fetchMarkPrices': False,
89
+ 'fetchMyLiquidations': False,
90
+ 'fetchMySettlementHistory': False,
74
91
  'fetchMyTrades': True,
75
92
  'fetchOHLCV': True,
93
+ 'fetchOpenInterest': False,
76
94
  'fetchOpenInterestHistory': False,
77
95
  'fetchOpenOrder': False,
78
96
  'fetchOpenOrders': True,
97
+ 'fetchOption': False,
98
+ 'fetchOptionChain': False,
79
99
  'fetchOrderBook': True,
80
100
  'fetchOrderBooks': False,
81
101
  'fetchPosition': False,
@@ -83,6 +103,7 @@ class zonda(Exchange, ImplicitAPI):
83
103
  'fetchPositions': False,
84
104
  'fetchPositionsRisk': False,
85
105
  'fetchPremiumIndexOHLCV': False,
106
+ 'fetchSettlementHistory': False,
86
107
  'fetchTicker': True,
87
108
  'fetchTickers': True,
88
109
  'fetchTime': False,
@@ -93,9 +114,13 @@ class zonda(Exchange, ImplicitAPI):
93
114
  'fetchTransactionFees': False,
94
115
  'fetchTransactions': None,
95
116
  'fetchTransfer': False,
117
+ 'fetchUnderlyingAssets': False,
118
+ 'fetchVolatilityHistory': False,
96
119
  'fetchWithdrawal': False,
97
120
  'fetchWithdrawals': None,
98
121
  'reduceMargin': False,
122
+ 'repayCrossMargin': False,
123
+ 'repayIsolatedMargin': False,
99
124
  'setLeverage': False,
100
125
  'setMargin': False,
101
126
  'setMarginMode': False,
@@ -278,6 +303,62 @@ class zonda(Exchange, ImplicitAPI):
278
303
  'fillResponseFromRequest': True,
279
304
  },
280
305
  },
306
+ 'features': {
307
+ 'spot': {
308
+ 'sandbox': False,
309
+ 'createOrder': {
310
+ 'marginMode': False,
311
+ 'triggerPrice': True, # todo remove
312
+ 'triggerDirection': False,
313
+ 'triggerPriceType': None,
314
+ 'stopLossPrice': False, # todo
315
+ 'takeProfitPrice': False, # todo
316
+ 'attachedStopLossTakeProfit': None,
317
+ 'timeInForce': {
318
+ 'IOC': True,
319
+ 'FOK': True,
320
+ 'PO': True,
321
+ 'GTD': False,
322
+ },
323
+ 'hedged': False,
324
+ 'trailing': False,
325
+ 'leverage': False,
326
+ 'marketBuyByCost': True,
327
+ 'marketBuyRequiresPrice': False,
328
+ 'selfTradePrevention': False,
329
+ 'iceberg': False,
330
+ },
331
+ 'createOrders': None,
332
+ 'fetchMyTrades': {
333
+ 'marginMode': False,
334
+ 'limit': None,
335
+ 'daysBack': 100000, # todo
336
+ 'untilDays': 100000, # todo
337
+ 'symbolRequired': False,
338
+ },
339
+ 'fetchOrder': None,
340
+ 'fetchOpenOrders': {
341
+ 'marginMode': False,
342
+ 'limit': 100,
343
+ 'trigger': False,
344
+ 'trailing': False,
345
+ 'symbolRequired': False,
346
+ },
347
+ 'fetchOrders': None,
348
+ 'fetchClosedOrders': None, # todo
349
+ 'fetchOHLCV': {
350
+ 'limit': None,
351
+ },
352
+ },
353
+ 'swap': {
354
+ 'linear': None,
355
+ 'inverse': None,
356
+ },
357
+ 'future': {
358
+ 'linear': None,
359
+ 'inverse': None,
360
+ },
361
+ },
281
362
  'precisionMode': TICK_SIZE,
282
363
  'exceptions': {
283
364
  '400': ExchangeError, # At least one parameter wasn't set
@@ -319,7 +400,9 @@ class zonda(Exchange, ImplicitAPI):
319
400
 
320
401
  async def fetch_markets(self, params={}) -> List[Market]:
321
402
  """
322
- :see: https://docs.zondacrypto.exchange/reference/ticker-1
403
+
404
+ https://docs.zondacrypto.exchange/reference/ticker-1
405
+
323
406
  retrieves data on all markets for zonda
324
407
  :param dict [params]: extra parameters specific to the exchange API endpoint
325
408
  :returns dict[]: an array of objects representing market data
@@ -416,7 +499,9 @@ class zonda(Exchange, ImplicitAPI):
416
499
 
417
500
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
418
501
  """
419
- :see: https://docs.zondacrypto.exchange/reference/active-orders
502
+
503
+ https://docs.zondacrypto.exchange/reference/active-orders
504
+
420
505
  fetch all unfilled currently open orders
421
506
  :param str symbol: not used by zonda fetchOpenOrders
422
507
  :param int [since]: the earliest time in ms to fetch open orders for
@@ -426,6 +511,7 @@ class zonda(Exchange, ImplicitAPI):
426
511
  """
427
512
  await self.load_markets()
428
513
  request: dict = {}
514
+ # todo pair
429
515
  response = await self.v1_01PrivateGetTradingOffer(self.extend(request, params))
430
516
  items = self.safe_list(response, 'items', [])
431
517
  return self.parse_orders(items, None, since, limit, {'status': 'open'})
@@ -476,7 +562,6 @@ class zonda(Exchange, ImplicitAPI):
476
562
  'postOnly': postOnly,
477
563
  'side': self.safe_string_lower(order, 'offerType'),
478
564
  'price': self.safe_string(order, 'rate'),
479
- 'stopPrice': None,
480
565
  'triggerPrice': None,
481
566
  'amount': amount,
482
567
  'cost': None,
@@ -489,7 +574,9 @@ class zonda(Exchange, ImplicitAPI):
489
574
 
490
575
  async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
491
576
  """
492
- :see: https://docs.zondacrypto.exchange/reference/transactions-history
577
+
578
+ https://docs.zondacrypto.exchange/reference/transactions-history
579
+
493
580
  fetch all trades made by the user
494
581
  :param str symbol: unified market symbol
495
582
  :param int [since]: the earliest time in ms to fetch trades for
@@ -548,7 +635,9 @@ class zonda(Exchange, ImplicitAPI):
548
635
 
549
636
  async def fetch_balance(self, params={}) -> Balances:
550
637
  """
551
- :see: https://docs.zondacrypto.exchange/reference/list-of-wallets
638
+
639
+ https://docs.zondacrypto.exchange/reference/list-of-wallets
640
+
552
641
  query for balance and get the amount of funds available for trading or funds locked in orders
553
642
  :param dict [params]: extra parameters specific to the exchange API endpoint
554
643
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
@@ -559,7 +648,9 @@ class zonda(Exchange, ImplicitAPI):
559
648
 
560
649
  async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
561
650
  """
562
- :see: https://docs.zondacrypto.exchange/reference/orderbook-2
651
+
652
+ https://docs.zondacrypto.exchange/reference/orderbook-2
653
+
563
654
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
564
655
  :param str symbol: unified symbol of the market to fetch the order book for
565
656
  :param int [limit]: the maximum amount of order book entries to return
@@ -670,7 +761,9 @@ class zonda(Exchange, ImplicitAPI):
670
761
  async def fetch_ticker(self, symbol: str, params={}):
671
762
  """
672
763
  v1_01PublicGetTradingTickerSymbol retrieves timestamp, datetime, bid, ask, close, last, previousClose, v1_01PublicGetTradingStatsSymbol retrieves high, low, volume and opening price of an asset
673
- :see: https://docs.zondacrypto.exchange/reference/market-statistics
764
+
765
+ https://docs.zondacrypto.exchange/reference/market-statistics
766
+
674
767
  :param str symbol: unified symbol of the market to fetch the ticker for
675
768
  :param dict [params]: extra parameters specific to the exchange API endpoint
676
769
  :param str [params.method]: v1_01PublicGetTradingTickerSymbol(default) or v1_01PublicGetTradingStatsSymbol
@@ -736,9 +829,11 @@ class zonda(Exchange, ImplicitAPI):
736
829
 
737
830
  async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
738
831
  """
739
- * @ignore
832
+ @ignore
740
833
  v1_01PublicGetTradingTicker retrieves timestamp, datetime, bid, ask, close, last, previousClose for each market, v1_01PublicGetTradingStats retrieves high, low, volume and opening price of each market
741
- :see: https://docs.zondacrypto.exchange/reference/market-statistics
834
+
835
+ https://docs.zondacrypto.exchange/reference/market-statistics
836
+
742
837
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
743
838
  :param dict [params]: extra parameters specific to the exchange API endpoint
744
839
  :param str [params.method]: v1_01PublicGetTradingTicker(default) or v1_01PublicGetTradingStats
@@ -804,15 +899,17 @@ class zonda(Exchange, ImplicitAPI):
804
899
  items = self.safe_dict(response, 'items')
805
900
  return self.parse_tickers(items, symbols)
806
901
 
807
- async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
902
+ async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LedgerEntry]:
808
903
  """
809
- :see: https://docs.zondacrypto.exchange/reference/operations-history
810
- fetch the history of changes, actions done by the user or operations that altered balance of the user
811
- :param str code: unified currency code, default is None
904
+ fetch the history of changes, actions done by the user or operations that altered the balance of the user
905
+
906
+ https://docs.zondacrypto.exchange/reference/operations-history
907
+
908
+ :param str [code]: unified currency code, default is None
812
909
  :param int [since]: timestamp in ms of the earliest ledger entry, default is None
813
- :param int [limit]: max number of ledger entrys to return, default is None
910
+ :param int [limit]: max number of ledger entries to return, default is None
814
911
  :param dict [params]: extra parameters specific to the exchange API endpoint
815
- :returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger-structure>`
912
+ :returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger>`
816
913
  """
817
914
  balanceCurrencies = []
818
915
  if code is not None:
@@ -830,7 +927,7 @@ class zonda(Exchange, ImplicitAPI):
830
927
  items = response['items']
831
928
  return self.parse_ledger(items, None, since, limit)
832
929
 
833
- def parse_ledger_entry(self, item: dict, currency: Currency = None):
930
+ def parse_ledger_entry(self, item: dict, currency: Currency = None) -> LedgerEntry:
834
931
  #
835
932
  # FUNDS_MIGRATION
836
933
  # {
@@ -1101,6 +1198,7 @@ class zonda(Exchange, ImplicitAPI):
1101
1198
  timestamp = self.safe_integer(item, 'time')
1102
1199
  balance = self.safe_value(item, 'balance', {})
1103
1200
  currencyId = self.safe_string(balance, 'currency')
1201
+ currency = self.safe_currency(currencyId, currency)
1104
1202
  change = self.safe_value(item, 'change', {})
1105
1203
  amount = self.safe_string(change, 'total')
1106
1204
  direction = 'in'
@@ -1111,7 +1209,7 @@ class zonda(Exchange, ImplicitAPI):
1111
1209
  # that can be used to enrich the transfers with txid, address etc(you need to use info.detailId parameter)
1112
1210
  fundsBefore = self.safe_value(item, 'fundsBefore', {})
1113
1211
  fundsAfter = self.safe_value(item, 'fundsAfter', {})
1114
- return {
1212
+ return self.safe_ledger_entry({
1115
1213
  'info': item,
1116
1214
  'id': self.safe_string(item, 'historyId'),
1117
1215
  'direction': direction,
@@ -1127,7 +1225,7 @@ class zonda(Exchange, ImplicitAPI):
1127
1225
  'timestamp': timestamp,
1128
1226
  'datetime': self.iso8601(timestamp),
1129
1227
  'fee': None,
1130
- }
1228
+ }, currency)
1131
1229
 
1132
1230
  def parse_ledger_entry_type(self, type):
1133
1231
  types: dict = {
@@ -1174,7 +1272,9 @@ class zonda(Exchange, ImplicitAPI):
1174
1272
 
1175
1273
  async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1176
1274
  """
1177
- :see: https://docs.zondacrypto.exchange/reference/candles-chart
1275
+
1276
+ https://docs.zondacrypto.exchange/reference/candles-chart
1277
+
1178
1278
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1179
1279
  :param str symbol: unified symbol of the market to fetch OHLCV data for
1180
1280
  :param str timeframe: the length of time each candle represents
@@ -1294,7 +1394,9 @@ class zonda(Exchange, ImplicitAPI):
1294
1394
 
1295
1395
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
1296
1396
  """
1297
- :see: https://docs.zondacrypto.exchange/reference/last-transactions
1397
+
1398
+ https://docs.zondacrypto.exchange/reference/last-transactions
1399
+
1298
1400
  get the list of most recent trades for a particular symbol
1299
1401
  :param str symbol: unified symbol of the market to fetch trades for
1300
1402
  :param int [since]: timestamp in ms of the earliest trade to fetch
@@ -1319,11 +1421,14 @@ class zonda(Exchange, ImplicitAPI):
1319
1421
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
1320
1422
  """
1321
1423
  create a trade order
1424
+
1425
+ https://docs.zondacrypto.exchange/reference/new-order
1426
+
1322
1427
  :param str symbol: unified symbol of the market to create an order in
1323
1428
  :param str type: 'market' or 'limit'
1324
1429
  :param str side: 'buy' or 'sell'
1325
1430
  :param float amount: how much of currency you want to trade in units of base currency
1326
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1431
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1327
1432
  :param dict [params]: extra parameters specific to the exchange API endpoint
1328
1433
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1329
1434
  """
@@ -1354,7 +1459,7 @@ class zonda(Exchange, ImplicitAPI):
1354
1459
  response = None
1355
1460
  if isStopOrder:
1356
1461
  if not isStopLossPrice:
1357
- raise ExchangeError(self.id + ' createOrder() zonda requires `triggerPrice` or `stopPrice` parameter for stop-limit or stop-market orders')
1462
+ raise ExchangeError(self.id + ' createOrder() zonda requires `triggerPrice` parameter for stop-limit or stop-market orders')
1358
1463
  request['stopRate'] = self.price_to_precision(symbol, stopLossPrice)
1359
1464
  response = await self.v1_01PrivatePostTradingStopOfferSymbol(self.extend(request, params))
1360
1465
  else:
@@ -1440,7 +1545,9 @@ class zonda(Exchange, ImplicitAPI):
1440
1545
 
1441
1546
  async def cancel_order(self, id: str, symbol: Str = None, params={}):
1442
1547
  """
1443
- :see: https://docs.zondacrypto.exchange/reference/cancel-order
1548
+
1549
+ https://docs.zondacrypto.exchange/reference/cancel-order
1550
+
1444
1551
  cancels an open order
1445
1552
  :param str id: order id
1446
1553
  :param str symbol: unified symbol of the market the order was made in
@@ -1467,7 +1574,7 @@ class zonda(Exchange, ImplicitAPI):
1467
1574
  # {status: "Ok", errors: []}
1468
1575
  return self.parse_order(response)
1469
1576
 
1470
- def is_fiat(self, currency):
1577
+ def is_fiat(self, currency: str) -> bool:
1471
1578
  fiatCurrencies: dict = {
1472
1579
  'USD': True,
1473
1580
  'EUR': True,
@@ -1475,7 +1582,7 @@ class zonda(Exchange, ImplicitAPI):
1475
1582
  }
1476
1583
  return self.safe_bool(fiatCurrencies, currency, False)
1477
1584
 
1478
- def parse_deposit_address(self, depositAddress, currency: Currency = None):
1585
+ def parse_deposit_address(self, depositAddress, currency: Currency = None) -> DepositAddress:
1479
1586
  #
1480
1587
  # {
1481
1588
  # "address": "33u5YAEhQbYfjHHPsfMfCoSdEjfwYjVcBE",
@@ -1489,16 +1596,18 @@ class zonda(Exchange, ImplicitAPI):
1489
1596
  address = self.safe_string(depositAddress, 'address')
1490
1597
  self.check_address(address)
1491
1598
  return {
1599
+ 'info': depositAddress,
1492
1600
  'currency': self.safe_currency_code(currencyId, currency),
1601
+ 'network': None,
1493
1602
  'address': address,
1494
1603
  'tag': self.safe_string(depositAddress, 'tag'),
1495
- 'network': None,
1496
- 'info': depositAddress,
1497
1604
  }
1498
1605
 
1499
- async def fetch_deposit_address(self, code: str, params={}):
1606
+ async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
1500
1607
  """
1501
- :see: https://docs.zondacrypto.exchange/reference/deposit-addresses-for-crypto
1608
+
1609
+ https://docs.zondacrypto.exchange/reference/deposit-addresses-for-crypto
1610
+
1502
1611
  fetch the deposit address for a currency associated with self account
1503
1612
  :param str code: unified currency code
1504
1613
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1528,9 +1637,11 @@ class zonda(Exchange, ImplicitAPI):
1528
1637
  first = self.safe_dict(data, 0)
1529
1638
  return self.parse_deposit_address(first, currency)
1530
1639
 
1531
- async def fetch_deposit_addresses(self, codes: Strings = None, params={}):
1640
+ async def fetch_deposit_addresses(self, codes: Strings = None, params={}) -> List[DepositAddress]:
1532
1641
  """
1533
- :see: https://docs.zondacrypto.exchange/reference/deposit-addresses-for-crypto
1642
+
1643
+ https://docs.zondacrypto.exchange/reference/deposit-addresses-for-crypto
1644
+
1534
1645
  fetch deposit addresses for multiple currencies and chain types
1535
1646
  :param str[]|None codes: zonda does not support filtering filtering by multiple codes and will ignore self parameter.
1536
1647
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1556,7 +1667,9 @@ class zonda(Exchange, ImplicitAPI):
1556
1667
 
1557
1668
  async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
1558
1669
  """
1559
- :see: https://docs.zondacrypto.exchange/reference/internal-transfer
1670
+
1671
+ https://docs.zondacrypto.exchange/reference/internal-transfer
1672
+
1560
1673
  transfer currency internally between wallets on the same account
1561
1674
  :param str code: unified currency code
1562
1675
  :param float amount: amount to transfer
@@ -1663,9 +1776,11 @@ class zonda(Exchange, ImplicitAPI):
1663
1776
  }
1664
1777
  return self.safe_string(statuses, status, status)
1665
1778
 
1666
- async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
1779
+ async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
1667
1780
  """
1668
- :see: https://docs.zondacrypto.exchange/reference/crypto-withdrawal-1
1781
+
1782
+ https://docs.zondacrypto.exchange/reference/crypto-withdrawal-1
1783
+
1669
1784
  make a withdrawal
1670
1785
  :param str code: unified currency code
1671
1786
  :param float amount: the amount to withdraw