ccxt-ir 4.3.46.0.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 (772) hide show
  1. ccxt/__init__.py +358 -0
  2. ccxt/abantether.py +316 -0
  3. ccxt/abstract/__init__.py +0 -0
  4. ccxt/abstract/abantether.py +5 -0
  5. ccxt/abstract/ace.py +15 -0
  6. ccxt/abstract/afratether.py +6 -0
  7. ccxt/abstract/alpaca.py +70 -0
  8. ccxt/abstract/arzinja.py +5 -0
  9. ccxt/abstract/arzplus.py +7 -0
  10. ccxt/abstract/ascendex.py +77 -0
  11. ccxt/abstract/bequant.py +115 -0
  12. ccxt/abstract/bigone.py +45 -0
  13. ccxt/abstract/binance.py +712 -0
  14. ccxt/abstract/binancecoinm.py +712 -0
  15. ccxt/abstract/binanceus.py +764 -0
  16. ccxt/abstract/binanceusdm.py +712 -0
  17. ccxt/abstract/bingx.py +113 -0
  18. ccxt/abstract/bit2c.py +27 -0
  19. ccxt/abstract/bitbank.py +27 -0
  20. ccxt/abstract/bitbay.py +53 -0
  21. ccxt/abstract/bitbns.py +40 -0
  22. ccxt/abstract/bitcoincom.py +115 -0
  23. ccxt/abstract/bitfinex.py +69 -0
  24. ccxt/abstract/bitfinex2.py +139 -0
  25. ccxt/abstract/bitflyer.py +38 -0
  26. ccxt/abstract/bitget.py +508 -0
  27. ccxt/abstract/bithumb.py +32 -0
  28. ccxt/abstract/bitimen.py +7 -0
  29. ccxt/abstract/bitir.py +7 -0
  30. ccxt/abstract/bitmart.py +99 -0
  31. ccxt/abstract/bitmex.py +97 -0
  32. ccxt/abstract/bitopro.py +29 -0
  33. ccxt/abstract/bitpanda.py +35 -0
  34. ccxt/abstract/bitpin.py +7 -0
  35. ccxt/abstract/bitrue.py +72 -0
  36. ccxt/abstract/bitso.py +43 -0
  37. ccxt/abstract/bitstamp.py +258 -0
  38. ccxt/abstract/bitteam.py +29 -0
  39. ccxt/abstract/bitvavo.py +27 -0
  40. ccxt/abstract/bl3p.py +19 -0
  41. ccxt/abstract/blockchaincom.py +28 -0
  42. ccxt/abstract/blofin.py +37 -0
  43. ccxt/abstract/btcalpha.py +18 -0
  44. ccxt/abstract/btcbox.py +13 -0
  45. ccxt/abstract/btcmarkets.py +39 -0
  46. ccxt/abstract/btcturk.py +20 -0
  47. ccxt/abstract/bybit.py +298 -0
  48. ccxt/abstract/cex.py +33 -0
  49. ccxt/abstract/coinbase.py +94 -0
  50. ccxt/abstract/coinbaseadvanced.py +94 -0
  51. ccxt/abstract/coinbaseexchange.py +67 -0
  52. ccxt/abstract/coinbaseinternational.py +39 -0
  53. ccxt/abstract/coincatch.py +94 -0
  54. ccxt/abstract/coincheck.py +33 -0
  55. ccxt/abstract/coinex.py +237 -0
  56. ccxt/abstract/coinlist.py +54 -0
  57. ccxt/abstract/coinmate.py +62 -0
  58. ccxt/abstract/coinmetro.py +34 -0
  59. ccxt/abstract/coinone.py +67 -0
  60. ccxt/abstract/coinsph.py +54 -0
  61. ccxt/abstract/coinspot.py +28 -0
  62. ccxt/abstract/cryptocom.py +107 -0
  63. ccxt/abstract/currencycom.py +68 -0
  64. ccxt/abstract/delta.py +50 -0
  65. ccxt/abstract/deribit.py +125 -0
  66. ccxt/abstract/digifinex.py +91 -0
  67. ccxt/abstract/eterex.py +5 -0
  68. ccxt/abstract/excoino.py +7 -0
  69. ccxt/abstract/exir.py +8 -0
  70. ccxt/abstract/exmo.py +55 -0
  71. ccxt/abstract/exnovin.py +6 -0
  72. ccxt/abstract/farhadexchange.py +5 -0
  73. ccxt/abstract/fmfwio.py +115 -0
  74. ccxt/abstract/gate.py +265 -0
  75. ccxt/abstract/gateio.py +265 -0
  76. ccxt/abstract/gemini.py +58 -0
  77. ccxt/abstract/hashkey.py +67 -0
  78. ccxt/abstract/hitbtc.py +115 -0
  79. ccxt/abstract/hitbtc3.py +115 -0
  80. ccxt/abstract/hitobit.py +8 -0
  81. ccxt/abstract/hollaex.py +33 -0
  82. ccxt/abstract/htx.py +548 -0
  83. ccxt/abstract/huobi.py +548 -0
  84. ccxt/abstract/huobijp.py +114 -0
  85. ccxt/abstract/hyperliquid.py +6 -0
  86. ccxt/abstract/idex.py +26 -0
  87. ccxt/abstract/independentreserve.py +37 -0
  88. ccxt/abstract/indodax.py +26 -0
  89. ccxt/abstract/jibitex.py +7 -0
  90. ccxt/abstract/kraken.py +57 -0
  91. ccxt/abstract/krakenfutures.py +38 -0
  92. ccxt/abstract/kucoin.py +214 -0
  93. ccxt/abstract/kucoinfutures.py +233 -0
  94. ccxt/abstract/kuna.py +182 -0
  95. ccxt/abstract/latoken.py +56 -0
  96. ccxt/abstract/lbank.py +61 -0
  97. ccxt/abstract/luno.py +37 -0
  98. ccxt/abstract/lykke.py +29 -0
  99. ccxt/abstract/mercado.py +25 -0
  100. ccxt/abstract/mexc.py +178 -0
  101. ccxt/abstract/ndax.py +97 -0
  102. ccxt/abstract/nobitex.py +7 -0
  103. ccxt/abstract/novadax.py +29 -0
  104. ccxt/abstract/oceanex.py +22 -0
  105. ccxt/abstract/okcoin.py +74 -0
  106. ccxt/abstract/okexchange.py +8 -0
  107. ccxt/abstract/okx.py +324 -0
  108. ccxt/abstract/ompfinex.py +7 -0
  109. ccxt/abstract/onetrading.py +35 -0
  110. ccxt/abstract/oxfun.py +34 -0
  111. ccxt/abstract/p2b.py +22 -0
  112. ccxt/abstract/paradex.py +40 -0
  113. ccxt/abstract/paymium.py +28 -0
  114. ccxt/abstract/phemex.py +115 -0
  115. ccxt/abstract/poloniex.py +69 -0
  116. ccxt/abstract/poloniexfutures.py +48 -0
  117. ccxt/abstract/probit.py +23 -0
  118. ccxt/abstract/ramzinex.py +7 -0
  119. ccxt/abstract/sarmayex.py +5 -0
  120. ccxt/abstract/sarrafex.py +7 -0
  121. ccxt/abstract/tabdeal.py +7 -0
  122. ccxt/abstract/tetherland.py +5 -0
  123. ccxt/abstract/timex.py +62 -0
  124. ccxt/abstract/tokocrypto.py +37 -0
  125. ccxt/abstract/tradeogre.py +16 -0
  126. ccxt/abstract/twox.py +5 -0
  127. ccxt/abstract/ubitex.py +7 -0
  128. ccxt/abstract/upbit.py +38 -0
  129. ccxt/abstract/vertex.py +19 -0
  130. ccxt/abstract/wallex.py +8 -0
  131. ccxt/abstract/wavesexchange.py +154 -0
  132. ccxt/abstract/wazirx.py +30 -0
  133. ccxt/abstract/whitebit.py +98 -0
  134. ccxt/abstract/woo.py +83 -0
  135. ccxt/abstract/woofipro.py +119 -0
  136. ccxt/abstract/xt.py +152 -0
  137. ccxt/abstract/yobit.py +16 -0
  138. ccxt/abstract/zaif.py +38 -0
  139. ccxt/abstract/zonda.py +53 -0
  140. ccxt/ace.py +1012 -0
  141. ccxt/afratether.py +293 -0
  142. ccxt/alpaca.py +1083 -0
  143. ccxt/arzinja.py +285 -0
  144. ccxt/arzplus.py +412 -0
  145. ccxt/ascendex.py +3330 -0
  146. ccxt/async_support/__init__.py +337 -0
  147. ccxt/async_support/abantether.py +316 -0
  148. ccxt/async_support/ace.py +1012 -0
  149. ccxt/async_support/afratether.py +293 -0
  150. ccxt/async_support/alpaca.py +1083 -0
  151. ccxt/async_support/arzinja.py +285 -0
  152. ccxt/async_support/arzplus.py +412 -0
  153. ccxt/async_support/ascendex.py +3330 -0
  154. ccxt/async_support/base/__init__.py +1 -0
  155. ccxt/async_support/base/exchange.py +1966 -0
  156. ccxt/async_support/base/throttler.py +50 -0
  157. ccxt/async_support/base/ws/__init__.py +38 -0
  158. ccxt/async_support/base/ws/aiohttp_client.py +125 -0
  159. ccxt/async_support/base/ws/cache.py +212 -0
  160. ccxt/async_support/base/ws/client.py +193 -0
  161. ccxt/async_support/base/ws/fast_client.py +96 -0
  162. ccxt/async_support/base/ws/functions.py +59 -0
  163. ccxt/async_support/base/ws/future.py +58 -0
  164. ccxt/async_support/base/ws/order_book.py +78 -0
  165. ccxt/async_support/base/ws/order_book_side.py +174 -0
  166. ccxt/async_support/bequant.py +33 -0
  167. ccxt/async_support/bigone.py +2113 -0
  168. ccxt/async_support/binance.py +12234 -0
  169. ccxt/async_support/binancecoinm.py +45 -0
  170. ccxt/async_support/binanceus.py +211 -0
  171. ccxt/async_support/binanceusdm.py +58 -0
  172. ccxt/async_support/bingx.py +4325 -0
  173. ccxt/async_support/bit2c.py +866 -0
  174. ccxt/async_support/bitbank.py +1001 -0
  175. ccxt/async_support/bitbay.py +17 -0
  176. ccxt/async_support/bitbns.py +1154 -0
  177. ccxt/async_support/bitcoincom.py +17 -0
  178. ccxt/async_support/bitfinex.py +1617 -0
  179. ccxt/async_support/bitfinex2.py +3552 -0
  180. ccxt/async_support/bitflyer.py +995 -0
  181. ccxt/async_support/bitget.py +8273 -0
  182. ccxt/async_support/bithumb.py +1061 -0
  183. ccxt/async_support/bitimen.py +401 -0
  184. ccxt/async_support/bitir.py +490 -0
  185. ccxt/async_support/bitmart.py +4415 -0
  186. ccxt/async_support/bitmex.py +2756 -0
  187. ccxt/async_support/bitopro.py +1630 -0
  188. ccxt/async_support/bitpanda.py +16 -0
  189. ccxt/async_support/bitpin.py +454 -0
  190. ccxt/async_support/bitrue.py +3027 -0
  191. ccxt/async_support/bitso.py +1670 -0
  192. ccxt/async_support/bitstamp.py +2203 -0
  193. ccxt/async_support/bitteam.py +2239 -0
  194. ccxt/async_support/bitvavo.py +1968 -0
  195. ccxt/async_support/bl3p.py +485 -0
  196. ccxt/async_support/blockchaincom.py +1104 -0
  197. ccxt/async_support/blofin.py +2066 -0
  198. ccxt/async_support/btcalpha.py +891 -0
  199. ccxt/async_support/btcbox.py +544 -0
  200. ccxt/async_support/btcmarkets.py +1221 -0
  201. ccxt/async_support/btcturk.py +911 -0
  202. ccxt/async_support/bybit.py +8159 -0
  203. ccxt/async_support/cex.py +1605 -0
  204. ccxt/async_support/coinbase.py +4475 -0
  205. ccxt/async_support/coinbaseadvanced.py +17 -0
  206. ccxt/async_support/coinbaseexchange.py +1734 -0
  207. ccxt/async_support/coinbaseinternational.py +1899 -0
  208. ccxt/async_support/coincatch.py +5069 -0
  209. ccxt/async_support/coincheck.py +815 -0
  210. ccxt/async_support/coinex.py +5526 -0
  211. ccxt/async_support/coinlist.py +2243 -0
  212. ccxt/async_support/coinmate.py +1067 -0
  213. ccxt/async_support/coinmetro.py +1797 -0
  214. ccxt/async_support/coinone.py +1127 -0
  215. ccxt/async_support/coinsph.py +1850 -0
  216. ccxt/async_support/coinspot.py +534 -0
  217. ccxt/async_support/cryptocom.py +2822 -0
  218. ccxt/async_support/currencycom.py +1950 -0
  219. ccxt/async_support/delta.py +3376 -0
  220. ccxt/async_support/deribit.py +3437 -0
  221. ccxt/async_support/digifinex.py +3960 -0
  222. ccxt/async_support/eterex.py +286 -0
  223. ccxt/async_support/excoino.py +399 -0
  224. ccxt/async_support/exir.py +375 -0
  225. ccxt/async_support/exmo.py +2462 -0
  226. ccxt/async_support/exnovin.py +360 -0
  227. ccxt/async_support/farhadexchange.py +266 -0
  228. ccxt/async_support/fmfwio.py +34 -0
  229. ccxt/async_support/gate.py +6976 -0
  230. ccxt/async_support/gateio.py +16 -0
  231. ccxt/async_support/gemini.py +1825 -0
  232. ccxt/async_support/hashkey.py +4150 -0
  233. ccxt/async_support/hitbtc.py +3423 -0
  234. ccxt/async_support/hitbtc3.py +16 -0
  235. ccxt/async_support/hitobit.py +391 -0
  236. ccxt/async_support/hollaex.py +1813 -0
  237. ccxt/async_support/htx.py +8506 -0
  238. ccxt/async_support/huobi.py +16 -0
  239. ccxt/async_support/huobijp.py +1801 -0
  240. ccxt/async_support/hyperliquid.py +2431 -0
  241. ccxt/async_support/idex.py +1766 -0
  242. ccxt/async_support/independentreserve.py +784 -0
  243. ccxt/async_support/indodax.py +1247 -0
  244. ccxt/async_support/jibitex.py +395 -0
  245. ccxt/async_support/kraken.py +2894 -0
  246. ccxt/async_support/krakenfutures.py +2601 -0
  247. ccxt/async_support/kucoin.py +4602 -0
  248. ccxt/async_support/kucoinfutures.py +2698 -0
  249. ccxt/async_support/kuna.py +1841 -0
  250. ccxt/async_support/latoken.py +1664 -0
  251. ccxt/async_support/lbank.py +2683 -0
  252. ccxt/async_support/luno.py +1067 -0
  253. ccxt/async_support/lykke.py +1270 -0
  254. ccxt/async_support/mercado.py +842 -0
  255. ccxt/async_support/mexc.py +5369 -0
  256. ccxt/async_support/ndax.py +2354 -0
  257. ccxt/async_support/nobitex.py +419 -0
  258. ccxt/async_support/novadax.py +1484 -0
  259. ccxt/async_support/oceanex.py +903 -0
  260. ccxt/async_support/okcoin.py +2936 -0
  261. ccxt/async_support/okexchange.py +349 -0
  262. ccxt/async_support/okx.py +7827 -0
  263. ccxt/async_support/ompfinex.py +472 -0
  264. ccxt/async_support/onetrading.py +1911 -0
  265. ccxt/async_support/oxfun.py +2773 -0
  266. ccxt/async_support/p2b.py +1194 -0
  267. ccxt/async_support/paradex.py +2015 -0
  268. ccxt/async_support/paymium.py +564 -0
  269. ccxt/async_support/phemex.py +4473 -0
  270. ccxt/async_support/poloniex.py +2232 -0
  271. ccxt/async_support/poloniexfutures.py +1717 -0
  272. ccxt/async_support/probit.py +1734 -0
  273. ccxt/async_support/ramzinex.py +476 -0
  274. ccxt/async_support/sarmayex.py +357 -0
  275. ccxt/async_support/sarrafex.py +478 -0
  276. ccxt/async_support/tabdeal.py +364 -0
  277. ccxt/async_support/tetherland.py +349 -0
  278. ccxt/async_support/timex.py +1593 -0
  279. ccxt/async_support/tokocrypto.py +2405 -0
  280. ccxt/async_support/tradeogre.py +608 -0
  281. ccxt/async_support/twox.py +326 -0
  282. ccxt/async_support/ubitex.py +409 -0
  283. ccxt/async_support/upbit.py +1833 -0
  284. ccxt/async_support/vertex.py +2922 -0
  285. ccxt/async_support/wallex.py +445 -0
  286. ccxt/async_support/wavesexchange.py +2473 -0
  287. ccxt/async_support/wazirx.py +1224 -0
  288. ccxt/async_support/whitebit.py +2469 -0
  289. ccxt/async_support/woo.py +3114 -0
  290. ccxt/async_support/woofipro.py +2533 -0
  291. ccxt/async_support/xt.py +4454 -0
  292. ccxt/async_support/yobit.py +1283 -0
  293. ccxt/async_support/zaif.py +725 -0
  294. ccxt/async_support/zonda.py +1828 -0
  295. ccxt/base/__init__.py +27 -0
  296. ccxt/base/decimal_to_precision.py +174 -0
  297. ccxt/base/errors.py +242 -0
  298. ccxt/base/exchange.py +5941 -0
  299. ccxt/base/precise.py +287 -0
  300. ccxt/base/types.py +502 -0
  301. ccxt/bequant.py +33 -0
  302. ccxt/bigone.py +2112 -0
  303. ccxt/binance.py +12233 -0
  304. ccxt/binancecoinm.py +45 -0
  305. ccxt/binanceus.py +211 -0
  306. ccxt/binanceusdm.py +58 -0
  307. ccxt/bingx.py +4324 -0
  308. ccxt/bit2c.py +866 -0
  309. ccxt/bitbank.py +1001 -0
  310. ccxt/bitbay.py +17 -0
  311. ccxt/bitbns.py +1154 -0
  312. ccxt/bitcoincom.py +17 -0
  313. ccxt/bitfinex.py +1617 -0
  314. ccxt/bitfinex2.py +3552 -0
  315. ccxt/bitflyer.py +995 -0
  316. ccxt/bitget.py +8272 -0
  317. ccxt/bithumb.py +1061 -0
  318. ccxt/bitimen.py +401 -0
  319. ccxt/bitir.py +490 -0
  320. ccxt/bitmart.py +4415 -0
  321. ccxt/bitmex.py +2756 -0
  322. ccxt/bitopro.py +1630 -0
  323. ccxt/bitpanda.py +16 -0
  324. ccxt/bitpin.py +454 -0
  325. ccxt/bitrue.py +3026 -0
  326. ccxt/bitso.py +1670 -0
  327. ccxt/bitstamp.py +2203 -0
  328. ccxt/bitteam.py +2239 -0
  329. ccxt/bitvavo.py +1968 -0
  330. ccxt/bl3p.py +485 -0
  331. ccxt/blockchaincom.py +1104 -0
  332. ccxt/blofin.py +2066 -0
  333. ccxt/btcalpha.py +891 -0
  334. ccxt/btcbox.py +544 -0
  335. ccxt/btcmarkets.py +1221 -0
  336. ccxt/btcturk.py +911 -0
  337. ccxt/bybit.py +8158 -0
  338. ccxt/cex.py +1605 -0
  339. ccxt/coinbase.py +4474 -0
  340. ccxt/coinbaseadvanced.py +17 -0
  341. ccxt/coinbaseexchange.py +1734 -0
  342. ccxt/coinbaseinternational.py +1899 -0
  343. ccxt/coincatch.py +5069 -0
  344. ccxt/coincheck.py +815 -0
  345. ccxt/coinex.py +5525 -0
  346. ccxt/coinlist.py +2243 -0
  347. ccxt/coinmate.py +1067 -0
  348. ccxt/coinmetro.py +1797 -0
  349. ccxt/coinone.py +1127 -0
  350. ccxt/coinsph.py +1850 -0
  351. ccxt/coinspot.py +534 -0
  352. ccxt/cryptocom.py +2822 -0
  353. ccxt/currencycom.py +1950 -0
  354. ccxt/delta.py +3376 -0
  355. ccxt/deribit.py +3437 -0
  356. ccxt/digifinex.py +3959 -0
  357. ccxt/eterex.py +286 -0
  358. ccxt/excoino.py +399 -0
  359. ccxt/exir.py +375 -0
  360. ccxt/exmo.py +2462 -0
  361. ccxt/exnovin.py +360 -0
  362. ccxt/farhadexchange.py +266 -0
  363. ccxt/fmfwio.py +34 -0
  364. ccxt/gate.py +6975 -0
  365. ccxt/gateio.py +16 -0
  366. ccxt/gemini.py +1824 -0
  367. ccxt/hashkey.py +4150 -0
  368. ccxt/hitbtc.py +3423 -0
  369. ccxt/hitbtc3.py +16 -0
  370. ccxt/hitobit.py +391 -0
  371. ccxt/hollaex.py +1813 -0
  372. ccxt/htx.py +8505 -0
  373. ccxt/huobi.py +16 -0
  374. ccxt/huobijp.py +1801 -0
  375. ccxt/hyperliquid.py +2430 -0
  376. ccxt/idex.py +1766 -0
  377. ccxt/independentreserve.py +784 -0
  378. ccxt/indodax.py +1247 -0
  379. ccxt/jibitex.py +395 -0
  380. ccxt/kraken.py +2894 -0
  381. ccxt/krakenfutures.py +2601 -0
  382. ccxt/kucoin.py +4601 -0
  383. ccxt/kucoinfutures.py +2698 -0
  384. ccxt/kuna.py +1841 -0
  385. ccxt/latoken.py +1664 -0
  386. ccxt/lbank.py +2682 -0
  387. ccxt/luno.py +1067 -0
  388. ccxt/lykke.py +1270 -0
  389. ccxt/mercado.py +842 -0
  390. ccxt/mexc.py +5369 -0
  391. ccxt/ndax.py +2354 -0
  392. ccxt/nobitex.py +419 -0
  393. ccxt/novadax.py +1484 -0
  394. ccxt/oceanex.py +903 -0
  395. ccxt/okcoin.py +2936 -0
  396. ccxt/okexchange.py +349 -0
  397. ccxt/okx.py +7826 -0
  398. ccxt/ompfinex.py +472 -0
  399. ccxt/onetrading.py +1911 -0
  400. ccxt/oxfun.py +2772 -0
  401. ccxt/p2b.py +1194 -0
  402. ccxt/paradex.py +2015 -0
  403. ccxt/paymium.py +564 -0
  404. ccxt/phemex.py +4473 -0
  405. ccxt/poloniex.py +2232 -0
  406. ccxt/poloniexfutures.py +1717 -0
  407. ccxt/pro/__init__.py +149 -0
  408. ccxt/pro/alpaca.py +685 -0
  409. ccxt/pro/ascendex.py +916 -0
  410. ccxt/pro/bequant.py +38 -0
  411. ccxt/pro/binance.py +3488 -0
  412. ccxt/pro/binancecoinm.py +28 -0
  413. ccxt/pro/binanceus.py +48 -0
  414. ccxt/pro/binanceusdm.py +31 -0
  415. ccxt/pro/bingx.py +1264 -0
  416. ccxt/pro/bitcoincom.py +34 -0
  417. ccxt/pro/bitfinex.py +621 -0
  418. ccxt/pro/bitfinex2.py +1083 -0
  419. ccxt/pro/bitget.py +1692 -0
  420. ccxt/pro/bithumb.py +368 -0
  421. ccxt/pro/bitmart.py +1449 -0
  422. ccxt/pro/bitmex.py +1656 -0
  423. ccxt/pro/bitopro.py +445 -0
  424. ccxt/pro/bitpanda.py +15 -0
  425. ccxt/pro/bitrue.py +447 -0
  426. ccxt/pro/bitstamp.py +522 -0
  427. ccxt/pro/bitvavo.py +1270 -0
  428. ccxt/pro/blockchaincom.py +738 -0
  429. ccxt/pro/blofin.py +692 -0
  430. ccxt/pro/bybit.py +2000 -0
  431. ccxt/pro/cex.py +1440 -0
  432. ccxt/pro/coinbase.py +678 -0
  433. ccxt/pro/coinbaseadvanced.py +16 -0
  434. ccxt/pro/coinbaseexchange.py +895 -0
  435. ccxt/pro/coinbaseinternational.py +620 -0
  436. ccxt/pro/coincatch.py +1464 -0
  437. ccxt/pro/coincheck.py +199 -0
  438. ccxt/pro/coinex.py +1061 -0
  439. ccxt/pro/coinone.py +395 -0
  440. ccxt/pro/cryptocom.py +947 -0
  441. ccxt/pro/currencycom.py +536 -0
  442. ccxt/pro/deribit.py +892 -0
  443. ccxt/pro/exmo.py +629 -0
  444. ccxt/pro/gate.py +1416 -0
  445. ccxt/pro/gateio.py +15 -0
  446. ccxt/pro/gemini.py +865 -0
  447. ccxt/pro/hashkey.py +802 -0
  448. ccxt/pro/hitbtc.py +1216 -0
  449. ccxt/pro/hollaex.py +563 -0
  450. ccxt/pro/htx.py +2215 -0
  451. ccxt/pro/huobi.py +15 -0
  452. ccxt/pro/huobijp.py +570 -0
  453. ccxt/pro/hyperliquid.py +525 -0
  454. ccxt/pro/idex.py +672 -0
  455. ccxt/pro/independentreserve.py +270 -0
  456. ccxt/pro/kraken.py +1356 -0
  457. ccxt/pro/krakenfutures.py +1492 -0
  458. ccxt/pro/kucoin.py +1133 -0
  459. ccxt/pro/kucoinfutures.py +1081 -0
  460. ccxt/pro/lbank.py +843 -0
  461. ccxt/pro/luno.py +303 -0
  462. ccxt/pro/mexc.py +1122 -0
  463. ccxt/pro/ndax.py +506 -0
  464. ccxt/pro/okcoin.py +698 -0
  465. ccxt/pro/okx.py +1851 -0
  466. ccxt/pro/onetrading.py +1275 -0
  467. ccxt/pro/oxfun.py +950 -0
  468. ccxt/pro/p2b.py +419 -0
  469. ccxt/pro/paradex.py +352 -0
  470. ccxt/pro/phemex.py +1441 -0
  471. ccxt/pro/poloniex.py +1166 -0
  472. ccxt/pro/poloniexfutures.py +990 -0
  473. ccxt/pro/probit.py +551 -0
  474. ccxt/pro/upbit.py +520 -0
  475. ccxt/pro/vertex.py +943 -0
  476. ccxt/pro/wazirx.py +749 -0
  477. ccxt/pro/whitebit.py +864 -0
  478. ccxt/pro/woo.py +1078 -0
  479. ccxt/pro/woofipro.py +1183 -0
  480. ccxt/pro/xt.py +1067 -0
  481. ccxt/probit.py +1734 -0
  482. ccxt/ramzinex.py +476 -0
  483. ccxt/sarmayex.py +357 -0
  484. ccxt/sarrafex.py +478 -0
  485. ccxt/static_dependencies/__init__.py +1 -0
  486. ccxt/static_dependencies/ecdsa/__init__.py +14 -0
  487. ccxt/static_dependencies/ecdsa/_version.py +520 -0
  488. ccxt/static_dependencies/ecdsa/curves.py +56 -0
  489. ccxt/static_dependencies/ecdsa/der.py +221 -0
  490. ccxt/static_dependencies/ecdsa/ecdsa.py +310 -0
  491. ccxt/static_dependencies/ecdsa/ellipticcurve.py +197 -0
  492. ccxt/static_dependencies/ecdsa/keys.py +332 -0
  493. ccxt/static_dependencies/ecdsa/numbertheory.py +531 -0
  494. ccxt/static_dependencies/ecdsa/rfc6979.py +100 -0
  495. ccxt/static_dependencies/ecdsa/util.py +266 -0
  496. ccxt/static_dependencies/ethereum/__init__.py +7 -0
  497. ccxt/static_dependencies/ethereum/abi/__init__.py +16 -0
  498. ccxt/static_dependencies/ethereum/abi/abi.py +19 -0
  499. ccxt/static_dependencies/ethereum/abi/base.py +152 -0
  500. ccxt/static_dependencies/ethereum/abi/codec.py +217 -0
  501. ccxt/static_dependencies/ethereum/abi/constants.py +3 -0
  502. ccxt/static_dependencies/ethereum/abi/decoding.py +565 -0
  503. ccxt/static_dependencies/ethereum/abi/encoding.py +720 -0
  504. ccxt/static_dependencies/ethereum/abi/exceptions.py +139 -0
  505. ccxt/static_dependencies/ethereum/abi/grammar.py +443 -0
  506. ccxt/static_dependencies/ethereum/abi/packed.py +13 -0
  507. ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  508. ccxt/static_dependencies/ethereum/abi/registry.py +643 -0
  509. ccxt/static_dependencies/ethereum/abi/tools/__init__.py +3 -0
  510. ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +230 -0
  511. ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  512. ccxt/static_dependencies/ethereum/abi/utils/numeric.py +83 -0
  513. ccxt/static_dependencies/ethereum/abi/utils/padding.py +27 -0
  514. ccxt/static_dependencies/ethereum/abi/utils/string.py +19 -0
  515. ccxt/static_dependencies/ethereum/account/__init__.py +3 -0
  516. ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +4 -0
  517. ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +239 -0
  518. ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +40 -0
  519. ccxt/static_dependencies/ethereum/account/messages.py +263 -0
  520. ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  521. ccxt/static_dependencies/ethereum/hexbytes/__init__.py +5 -0
  522. ccxt/static_dependencies/ethereum/hexbytes/_utils.py +54 -0
  523. ccxt/static_dependencies/ethereum/hexbytes/main.py +65 -0
  524. ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  525. ccxt/static_dependencies/ethereum/typing/__init__.py +63 -0
  526. ccxt/static_dependencies/ethereum/typing/abi.py +6 -0
  527. ccxt/static_dependencies/ethereum/typing/bls.py +7 -0
  528. ccxt/static_dependencies/ethereum/typing/discovery.py +5 -0
  529. ccxt/static_dependencies/ethereum/typing/encoding.py +7 -0
  530. ccxt/static_dependencies/ethereum/typing/enums.py +17 -0
  531. ccxt/static_dependencies/ethereum/typing/ethpm.py +9 -0
  532. ccxt/static_dependencies/ethereum/typing/evm.py +20 -0
  533. ccxt/static_dependencies/ethereum/typing/networks.py +1122 -0
  534. ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  535. ccxt/static_dependencies/ethereum/utils/__init__.py +115 -0
  536. ccxt/static_dependencies/ethereum/utils/abi.py +72 -0
  537. ccxt/static_dependencies/ethereum/utils/address.py +171 -0
  538. ccxt/static_dependencies/ethereum/utils/applicators.py +151 -0
  539. ccxt/static_dependencies/ethereum/utils/conversions.py +190 -0
  540. ccxt/static_dependencies/ethereum/utils/currency.py +107 -0
  541. ccxt/static_dependencies/ethereum/utils/curried/__init__.py +269 -0
  542. ccxt/static_dependencies/ethereum/utils/debug.py +20 -0
  543. ccxt/static_dependencies/ethereum/utils/decorators.py +132 -0
  544. ccxt/static_dependencies/ethereum/utils/encoding.py +6 -0
  545. ccxt/static_dependencies/ethereum/utils/exceptions.py +4 -0
  546. ccxt/static_dependencies/ethereum/utils/functional.py +75 -0
  547. ccxt/static_dependencies/ethereum/utils/hexadecimal.py +74 -0
  548. ccxt/static_dependencies/ethereum/utils/humanize.py +188 -0
  549. ccxt/static_dependencies/ethereum/utils/logging.py +159 -0
  550. ccxt/static_dependencies/ethereum/utils/module_loading.py +31 -0
  551. ccxt/static_dependencies/ethereum/utils/numeric.py +43 -0
  552. ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  553. ccxt/static_dependencies/ethereum/utils/toolz.py +76 -0
  554. ccxt/static_dependencies/ethereum/utils/types.py +54 -0
  555. ccxt/static_dependencies/ethereum/utils/typing/__init__.py +18 -0
  556. ccxt/static_dependencies/ethereum/utils/typing/misc.py +14 -0
  557. ccxt/static_dependencies/ethereum/utils/units.py +31 -0
  558. ccxt/static_dependencies/keccak/__init__.py +3 -0
  559. ccxt/static_dependencies/keccak/keccak.py +197 -0
  560. ccxt/static_dependencies/lark/__init__.py +38 -0
  561. ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
  562. ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
  563. ccxt/static_dependencies/lark/ast_utils.py +59 -0
  564. ccxt/static_dependencies/lark/common.py +86 -0
  565. ccxt/static_dependencies/lark/exceptions.py +292 -0
  566. ccxt/static_dependencies/lark/grammar.py +130 -0
  567. ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  568. ccxt/static_dependencies/lark/indenter.py +143 -0
  569. ccxt/static_dependencies/lark/lark.py +658 -0
  570. ccxt/static_dependencies/lark/lexer.py +678 -0
  571. ccxt/static_dependencies/lark/load_grammar.py +1428 -0
  572. ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
  573. ccxt/static_dependencies/lark/parser_frontends.py +257 -0
  574. ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  575. ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
  576. ccxt/static_dependencies/lark/parsers/earley.py +314 -0
  577. ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
  578. ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
  579. ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
  580. ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
  581. ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
  582. ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
  583. ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
  584. ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
  585. ccxt/static_dependencies/lark/reconstruct.py +107 -0
  586. ccxt/static_dependencies/lark/tools/__init__.py +70 -0
  587. ccxt/static_dependencies/lark/tools/nearley.py +202 -0
  588. ccxt/static_dependencies/lark/tools/serialize.py +32 -0
  589. ccxt/static_dependencies/lark/tools/standalone.py +196 -0
  590. ccxt/static_dependencies/lark/tree.py +267 -0
  591. ccxt/static_dependencies/lark/tree_matcher.py +186 -0
  592. ccxt/static_dependencies/lark/tree_templates.py +180 -0
  593. ccxt/static_dependencies/lark/utils.py +343 -0
  594. ccxt/static_dependencies/lark/visitors.py +596 -0
  595. ccxt/static_dependencies/marshmallow/__init__.py +81 -0
  596. ccxt/static_dependencies/marshmallow/base.py +65 -0
  597. ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
  598. ccxt/static_dependencies/marshmallow/decorators.py +231 -0
  599. ccxt/static_dependencies/marshmallow/error_store.py +60 -0
  600. ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
  601. ccxt/static_dependencies/marshmallow/fields.py +2114 -0
  602. ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
  603. ccxt/static_dependencies/marshmallow/schema.py +1228 -0
  604. ccxt/static_dependencies/marshmallow/types.py +12 -0
  605. ccxt/static_dependencies/marshmallow/utils.py +378 -0
  606. ccxt/static_dependencies/marshmallow/validate.py +678 -0
  607. ccxt/static_dependencies/marshmallow/warnings.py +2 -0
  608. ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
  609. ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
  610. ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
  611. ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
  612. ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
  613. ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
  614. ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
  615. ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
  616. ccxt/static_dependencies/msgpack/__init__.py +55 -0
  617. ccxt/static_dependencies/msgpack/exceptions.py +48 -0
  618. ccxt/static_dependencies/msgpack/ext.py +168 -0
  619. ccxt/static_dependencies/msgpack/fallback.py +951 -0
  620. ccxt/static_dependencies/parsimonious/__init__.py +10 -0
  621. ccxt/static_dependencies/parsimonious/exceptions.py +105 -0
  622. ccxt/static_dependencies/parsimonious/expressions.py +479 -0
  623. ccxt/static_dependencies/parsimonious/grammar.py +487 -0
  624. ccxt/static_dependencies/parsimonious/nodes.py +325 -0
  625. ccxt/static_dependencies/parsimonious/utils.py +40 -0
  626. ccxt/static_dependencies/starknet/__init__.py +0 -0
  627. ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  628. ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
  629. ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  630. ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
  631. ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
  632. ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
  633. ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
  634. ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
  635. ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  636. ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
  637. ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  638. ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
  639. ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
  640. ccxt/static_dependencies/starknet/common.py +15 -0
  641. ccxt/static_dependencies/starknet/constants.py +39 -0
  642. ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  643. ccxt/static_dependencies/starknet/hash/address.py +79 -0
  644. ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
  645. ccxt/static_dependencies/starknet/hash/selector.py +16 -0
  646. ccxt/static_dependencies/starknet/hash/storage.py +12 -0
  647. ccxt/static_dependencies/starknet/hash/utils.py +78 -0
  648. ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  649. ccxt/static_dependencies/starknet/models/typed_data.py +45 -0
  650. ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
  651. ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
  652. ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
  653. ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
  654. ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
  655. ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
  656. ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
  657. ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
  658. ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
  659. ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
  660. ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
  661. ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
  662. ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
  663. ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
  664. ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
  665. ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
  666. ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
  667. ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
  668. ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
  669. ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
  670. ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
  671. ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
  672. ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
  673. ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
  674. ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  675. ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
  676. ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
  677. ccxt/static_dependencies/starknet/utils/schema.py +13 -0
  678. ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
  679. ccxt/static_dependencies/starkware/__init__.py +0 -0
  680. ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  681. ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +50 -0
  682. ccxt/static_dependencies/starkware/crypto/math_utils.py +78 -0
  683. ccxt/static_dependencies/starkware/crypto/signature.py +2344 -0
  684. ccxt/static_dependencies/starkware/crypto/utils.py +63 -0
  685. ccxt/static_dependencies/sympy/__init__.py +0 -0
  686. ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  687. ccxt/static_dependencies/sympy/core/intfunc.py +35 -0
  688. ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  689. ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
  690. ccxt/static_dependencies/sympy/external/importtools.py +187 -0
  691. ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
  692. ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
  693. ccxt/static_dependencies/toolz/__init__.py +26 -0
  694. ccxt/static_dependencies/toolz/_signatures.py +784 -0
  695. ccxt/static_dependencies/toolz/_version.py +520 -0
  696. ccxt/static_dependencies/toolz/compatibility.py +30 -0
  697. ccxt/static_dependencies/toolz/curried/__init__.py +101 -0
  698. ccxt/static_dependencies/toolz/curried/exceptions.py +22 -0
  699. ccxt/static_dependencies/toolz/curried/operator.py +22 -0
  700. ccxt/static_dependencies/toolz/dicttoolz.py +339 -0
  701. ccxt/static_dependencies/toolz/functoolz.py +1049 -0
  702. ccxt/static_dependencies/toolz/itertoolz.py +1057 -0
  703. ccxt/static_dependencies/toolz/recipes.py +46 -0
  704. ccxt/static_dependencies/toolz/utils.py +9 -0
  705. ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  706. ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
  707. ccxt/tabdeal.py +364 -0
  708. ccxt/test/__init__.py +3 -0
  709. ccxt/test/base/__init__.py +29 -0
  710. ccxt/test/base/test_account.py +26 -0
  711. ccxt/test/base/test_balance.py +56 -0
  712. ccxt/test/base/test_borrow_interest.py +35 -0
  713. ccxt/test/base/test_borrow_rate.py +32 -0
  714. ccxt/test/base/test_calculate_fee.py +51 -0
  715. ccxt/test/base/test_crypto.py +127 -0
  716. ccxt/test/base/test_currency.py +76 -0
  717. ccxt/test/base/test_datetime.py +109 -0
  718. ccxt/test/base/test_decimal_to_precision.py +392 -0
  719. ccxt/test/base/test_deep_extend.py +68 -0
  720. ccxt/test/base/test_deposit_withdrawal.py +50 -0
  721. ccxt/test/base/test_exchange_datetime_functions.py +76 -0
  722. ccxt/test/base/test_funding_rate_history.py +29 -0
  723. ccxt/test/base/test_last_price.py +31 -0
  724. ccxt/test/base/test_ledger_entry.py +45 -0
  725. ccxt/test/base/test_ledger_item.py +48 -0
  726. ccxt/test/base/test_leverage_tier.py +33 -0
  727. ccxt/test/base/test_liquidation.py +50 -0
  728. ccxt/test/base/test_margin_mode.py +24 -0
  729. ccxt/test/base/test_margin_modification.py +35 -0
  730. ccxt/test/base/test_market.py +193 -0
  731. ccxt/test/base/test_number.py +411 -0
  732. ccxt/test/base/test_ohlcv.py +33 -0
  733. ccxt/test/base/test_open_interest.py +32 -0
  734. ccxt/test/base/test_order.py +64 -0
  735. ccxt/test/base/test_order_book.py +69 -0
  736. ccxt/test/base/test_position.py +60 -0
  737. ccxt/test/base/test_shared_methods.py +353 -0
  738. ccxt/test/base/test_status.py +24 -0
  739. ccxt/test/base/test_throttle.py +126 -0
  740. ccxt/test/base/test_ticker.py +92 -0
  741. ccxt/test/base/test_trade.py +47 -0
  742. ccxt/test/base/test_trading_fee.py +26 -0
  743. ccxt/test/base/test_transaction.py +39 -0
  744. ccxt/test/test_async.py +1649 -0
  745. ccxt/test/test_sync.py +1648 -0
  746. ccxt/test/tests_async.py +1558 -0
  747. ccxt/test/tests_helpers.py +287 -0
  748. ccxt/test/tests_init.py +39 -0
  749. ccxt/test/tests_sync.py +1555 -0
  750. ccxt/tetherland.py +349 -0
  751. ccxt/timex.py +1593 -0
  752. ccxt/tokocrypto.py +2405 -0
  753. ccxt/tradeogre.py +608 -0
  754. ccxt/twox.py +326 -0
  755. ccxt/ubitex.py +409 -0
  756. ccxt/upbit.py +1833 -0
  757. ccxt/vertex.py +2922 -0
  758. ccxt/wallex.py +445 -0
  759. ccxt/wavesexchange.py +2472 -0
  760. ccxt/wazirx.py +1224 -0
  761. ccxt/whitebit.py +2469 -0
  762. ccxt/woo.py +3114 -0
  763. ccxt/woofipro.py +2533 -0
  764. ccxt/xt.py +4453 -0
  765. ccxt/yobit.py +1283 -0
  766. ccxt/zaif.py +725 -0
  767. ccxt/zonda.py +1828 -0
  768. ccxt_ir-4.3.46.0.1.dist-info/LICENSE.txt +21 -0
  769. ccxt_ir-4.3.46.0.1.dist-info/METADATA +655 -0
  770. ccxt_ir-4.3.46.0.1.dist-info/RECORD +772 -0
  771. ccxt_ir-4.3.46.0.1.dist-info/WHEEL +6 -0
  772. ccxt_ir-4.3.46.0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,337 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ """CCXT: CryptoCurrency eXchange Trading Library (Async)"""
4
+
5
+ # -----------------------------------------------------------------------------
6
+
7
+ __version__ = '4.3.46-0.1'
8
+
9
+ # -----------------------------------------------------------------------------
10
+
11
+ from ccxt.async_support.base.exchange import Exchange # noqa: F401
12
+
13
+ from ccxt.base.decimal_to_precision import decimal_to_precision # noqa: F401
14
+ from ccxt.base.decimal_to_precision import TRUNCATE # noqa: F401
15
+ from ccxt.base.decimal_to_precision import ROUND # noqa: F401
16
+ from ccxt.base.decimal_to_precision import TICK_SIZE # noqa: F401
17
+ from ccxt.base.decimal_to_precision import DECIMAL_PLACES # noqa: F401
18
+ from ccxt.base.decimal_to_precision import SIGNIFICANT_DIGITS # noqa: F401
19
+ from ccxt.base.decimal_to_precision import NO_PADDING # noqa: F401
20
+ from ccxt.base.decimal_to_precision import PAD_WITH_ZERO # noqa: F401
21
+
22
+ from ccxt.base import errors # noqa: F401
23
+ from ccxt.base.errors import BaseError # noqa: F401
24
+ from ccxt.base.errors import ExchangeError # noqa: F401
25
+ from ccxt.base.errors import AuthenticationError # noqa: F401
26
+ from ccxt.base.errors import PermissionDenied # noqa: F401
27
+ from ccxt.base.errors import AccountNotEnabled # noqa: F401
28
+ from ccxt.base.errors import AccountSuspended # noqa: F401
29
+ from ccxt.base.errors import ArgumentsRequired # noqa: F401
30
+ from ccxt.base.errors import BadRequest # noqa: F401
31
+ from ccxt.base.errors import BadSymbol # noqa: F401
32
+ from ccxt.base.errors import OperationRejected # noqa: F401
33
+ from ccxt.base.errors import NoChange # noqa: F401
34
+ from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
35
+ from ccxt.base.errors import MarketClosed # noqa: F401
36
+ from ccxt.base.errors import BadResponse # noqa: F401
37
+ from ccxt.base.errors import NullResponse # noqa: F401
38
+ from ccxt.base.errors import InsufficientFunds # noqa: F401
39
+ from ccxt.base.errors import InvalidAddress # noqa: F401
40
+ from ccxt.base.errors import AddressPending # noqa: F401
41
+ from ccxt.base.errors import InvalidOrder # noqa: F401
42
+ from ccxt.base.errors import OrderNotFound # noqa: F401
43
+ from ccxt.base.errors import OrderNotCached # noqa: F401
44
+ from ccxt.base.errors import CancelPending # noqa: F401
45
+ from ccxt.base.errors import OrderImmediatelyFillable # noqa: F401
46
+ from ccxt.base.errors import OrderNotFillable # noqa: F401
47
+ from ccxt.base.errors import DuplicateOrderId # noqa: F401
48
+ from ccxt.base.errors import ContractUnavailable # noqa: F401
49
+ from ccxt.base.errors import NotSupported # noqa: F401
50
+ from ccxt.base.errors import ProxyError # noqa: F401
51
+ from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
52
+ from ccxt.base.errors import OperationFailed # noqa: F401
53
+ from ccxt.base.errors import NetworkError # noqa: F401
54
+ from ccxt.base.errors import DDoSProtection # noqa: F401
55
+ from ccxt.base.errors import RateLimitExceeded # noqa: F401
56
+ from ccxt.base.errors import ExchangeNotAvailable # noqa: F401
57
+ from ccxt.base.errors import OnMaintenance # noqa: F401
58
+ from ccxt.base.errors import InvalidNonce # noqa: F401
59
+ from ccxt.base.errors import RequestTimeout # noqa: F401
60
+ from ccxt.base.errors import error_hierarchy # noqa: F401
61
+
62
+
63
+ from ccxt.async_support.abantether import abantether # noqa: F401
64
+ from ccxt.async_support.ace import ace # noqa: F401
65
+ from ccxt.async_support.afratether import afratether # noqa: F401
66
+ from ccxt.async_support.alpaca import alpaca # noqa: F401
67
+ from ccxt.async_support.arzinja import arzinja # noqa: F401
68
+ from ccxt.async_support.arzplus import arzplus # noqa: F401
69
+ from ccxt.async_support.ascendex import ascendex # noqa: F401
70
+ from ccxt.async_support.bequant import bequant # noqa: F401
71
+ from ccxt.async_support.bigone import bigone # noqa: F401
72
+ from ccxt.async_support.binance import binance # noqa: F401
73
+ from ccxt.async_support.binancecoinm import binancecoinm # noqa: F401
74
+ from ccxt.async_support.binanceus import binanceus # noqa: F401
75
+ from ccxt.async_support.binanceusdm import binanceusdm # noqa: F401
76
+ from ccxt.async_support.bingx import bingx # noqa: F401
77
+ from ccxt.async_support.bit2c import bit2c # noqa: F401
78
+ from ccxt.async_support.bitbank import bitbank # noqa: F401
79
+ from ccxt.async_support.bitbay import bitbay # noqa: F401
80
+ from ccxt.async_support.bitbns import bitbns # noqa: F401
81
+ from ccxt.async_support.bitcoincom import bitcoincom # noqa: F401
82
+ from ccxt.async_support.bitfinex import bitfinex # noqa: F401
83
+ from ccxt.async_support.bitfinex2 import bitfinex2 # noqa: F401
84
+ from ccxt.async_support.bitflyer import bitflyer # noqa: F401
85
+ from ccxt.async_support.bitget import bitget # noqa: F401
86
+ from ccxt.async_support.bithumb import bithumb # noqa: F401
87
+ from ccxt.async_support.bitimen import bitimen # noqa: F401
88
+ from ccxt.async_support.bitir import bitir # noqa: F401
89
+ from ccxt.async_support.bitmart import bitmart # noqa: F401
90
+ from ccxt.async_support.bitmex import bitmex # noqa: F401
91
+ from ccxt.async_support.bitopro import bitopro # noqa: F401
92
+ from ccxt.async_support.bitpanda import bitpanda # noqa: F401
93
+ from ccxt.async_support.bitpin import bitpin # noqa: F401
94
+ from ccxt.async_support.bitrue import bitrue # noqa: F401
95
+ from ccxt.async_support.bitso import bitso # noqa: F401
96
+ from ccxt.async_support.bitstamp import bitstamp # noqa: F401
97
+ from ccxt.async_support.bitteam import bitteam # noqa: F401
98
+ from ccxt.async_support.bitvavo import bitvavo # noqa: F401
99
+ from ccxt.async_support.bl3p import bl3p # noqa: F401
100
+ from ccxt.async_support.blockchaincom import blockchaincom # noqa: F401
101
+ from ccxt.async_support.blofin import blofin # noqa: F401
102
+ from ccxt.async_support.btcalpha import btcalpha # noqa: F401
103
+ from ccxt.async_support.btcbox import btcbox # noqa: F401
104
+ from ccxt.async_support.btcmarkets import btcmarkets # noqa: F401
105
+ from ccxt.async_support.btcturk import btcturk # noqa: F401
106
+ from ccxt.async_support.bybit import bybit # noqa: F401
107
+ from ccxt.async_support.cex import cex # noqa: F401
108
+ from ccxt.async_support.coinbase import coinbase # noqa: F401
109
+ from ccxt.async_support.coinbaseadvanced import coinbaseadvanced # noqa: F401
110
+ from ccxt.async_support.coinbaseexchange import coinbaseexchange # noqa: F401
111
+ from ccxt.async_support.coinbaseinternational import coinbaseinternational # noqa: F401
112
+ from ccxt.async_support.coincheck import coincheck # noqa: F401
113
+ from ccxt.async_support.coinex import coinex # noqa: F401
114
+ from ccxt.async_support.coinlist import coinlist # noqa: F401
115
+ from ccxt.async_support.coinmate import coinmate # noqa: F401
116
+ from ccxt.async_support.coinmetro import coinmetro # noqa: F401
117
+ from ccxt.async_support.coinone import coinone # noqa: F401
118
+ from ccxt.async_support.coinsph import coinsph # noqa: F401
119
+ from ccxt.async_support.coinspot import coinspot # noqa: F401
120
+ from ccxt.async_support.cryptocom import cryptocom # noqa: F401
121
+ from ccxt.async_support.currencycom import currencycom # noqa: F401
122
+ from ccxt.async_support.delta import delta # noqa: F401
123
+ from ccxt.async_support.deribit import deribit # noqa: F401
124
+ from ccxt.async_support.digifinex import digifinex # noqa: F401
125
+ from ccxt.async_support.eterex import eterex # noqa: F401
126
+ from ccxt.async_support.excoino import excoino # noqa: F401
127
+ from ccxt.async_support.exir import exir # noqa: F401
128
+ from ccxt.async_support.exmo import exmo # noqa: F401
129
+ from ccxt.async_support.exnovin import exnovin # noqa: F401
130
+ from ccxt.async_support.farhadexchange import farhadexchange # noqa: F401
131
+ from ccxt.async_support.fmfwio import fmfwio # noqa: F401
132
+ from ccxt.async_support.gate import gate # noqa: F401
133
+ from ccxt.async_support.gateio import gateio # noqa: F401
134
+ from ccxt.async_support.gemini import gemini # noqa: F401
135
+ from ccxt.async_support.hitbtc import hitbtc # noqa: F401
136
+ from ccxt.async_support.hitbtc3 import hitbtc3 # noqa: F401
137
+ from ccxt.async_support.hitobit import hitobit # noqa: F401
138
+ from ccxt.async_support.hollaex import hollaex # noqa: F401
139
+ from ccxt.async_support.htx import htx # noqa: F401
140
+ from ccxt.async_support.huobi import huobi # noqa: F401
141
+ from ccxt.async_support.huobijp import huobijp # noqa: F401
142
+ from ccxt.async_support.hyperliquid import hyperliquid # noqa: F401
143
+ from ccxt.async_support.idex import idex # noqa: F401
144
+ from ccxt.async_support.independentreserve import independentreserve # noqa: F401
145
+ from ccxt.async_support.indodax import indodax # noqa: F401
146
+ from ccxt.async_support.jibitex import jibitex # noqa: F401
147
+ from ccxt.async_support.kraken import kraken # noqa: F401
148
+ from ccxt.async_support.krakenfutures import krakenfutures # noqa: F401
149
+ from ccxt.async_support.kucoin import kucoin # noqa: F401
150
+ from ccxt.async_support.kucoinfutures import kucoinfutures # noqa: F401
151
+ from ccxt.async_support.kuna import kuna # noqa: F401
152
+ from ccxt.async_support.latoken import latoken # noqa: F401
153
+ from ccxt.async_support.lbank import lbank # noqa: F401
154
+ from ccxt.async_support.luno import luno # noqa: F401
155
+ from ccxt.async_support.lykke import lykke # noqa: F401
156
+ from ccxt.async_support.mercado import mercado # noqa: F401
157
+ from ccxt.async_support.mexc import mexc # noqa: F401
158
+ from ccxt.async_support.ndax import ndax # noqa: F401
159
+ from ccxt.async_support.nobitex import nobitex # noqa: F401
160
+ from ccxt.async_support.novadax import novadax # noqa: F401
161
+ from ccxt.async_support.oceanex import oceanex # noqa: F401
162
+ from ccxt.async_support.okcoin import okcoin # noqa: F401
163
+ from ccxt.async_support.okexchange import okexchange # noqa: F401
164
+ from ccxt.async_support.okx import okx # noqa: F401
165
+ from ccxt.async_support.ompfinex import ompfinex # noqa: F401
166
+ from ccxt.async_support.onetrading import onetrading # noqa: F401
167
+ from ccxt.async_support.oxfun import oxfun # noqa: F401
168
+ from ccxt.async_support.p2b import p2b # noqa: F401
169
+ from ccxt.async_support.paymium import paymium # noqa: F401
170
+ from ccxt.async_support.phemex import phemex # noqa: F401
171
+ from ccxt.async_support.poloniex import poloniex # noqa: F401
172
+ from ccxt.async_support.poloniexfutures import poloniexfutures # noqa: F401
173
+ from ccxt.async_support.probit import probit # noqa: F401
174
+ from ccxt.async_support.ramzinex import ramzinex # noqa: F401
175
+ from ccxt.async_support.sarmayex import sarmayex # noqa: F401
176
+ from ccxt.async_support.sarrafex import sarrafex # noqa: F401
177
+ from ccxt.async_support.tabdeal import tabdeal # noqa: F401
178
+ from ccxt.async_support.tetherland import tetherland # noqa: F401
179
+ from ccxt.async_support.timex import timex # noqa: F401
180
+ from ccxt.async_support.tokocrypto import tokocrypto # noqa: F401
181
+ from ccxt.async_support.tradeogre import tradeogre # noqa: F401
182
+ from ccxt.async_support.twox import twox # noqa: F401
183
+ from ccxt.async_support.ubitex import ubitex # noqa: F401
184
+ from ccxt.async_support.upbit import upbit # noqa: F401
185
+ from ccxt.async_support.wallex import wallex # noqa: F401
186
+ from ccxt.async_support.wavesexchange import wavesexchange # noqa: F401
187
+ from ccxt.async_support.wazirx import wazirx # noqa: F401
188
+ from ccxt.async_support.whitebit import whitebit # noqa: F401
189
+ from ccxt.async_support.woo import woo # noqa: F401
190
+ from ccxt.async_support.woofipro import woofipro # noqa: F401
191
+ from ccxt.async_support.xt import xt # noqa: F401
192
+ from ccxt.async_support.yobit import yobit # noqa: F401
193
+ from ccxt.async_support.zaif import zaif # noqa: F401
194
+ from ccxt.async_support.zonda import zonda # noqa: F401
195
+
196
+ exchanges = [
197
+ 'abantether',
198
+ 'ace',
199
+ 'afratether',
200
+ 'alpaca',
201
+ 'arzinja',
202
+ 'arzplus',
203
+ 'ascendex',
204
+ 'bequant',
205
+ 'bigone',
206
+ 'binance',
207
+ 'binancecoinm',
208
+ 'binanceus',
209
+ 'binanceusdm',
210
+ 'bingx',
211
+ 'bit2c',
212
+ 'bitbank',
213
+ 'bitbay',
214
+ 'bitbns',
215
+ 'bitcoincom',
216
+ 'bitfinex',
217
+ 'bitfinex2',
218
+ 'bitflyer',
219
+ 'bitget',
220
+ 'bithumb',
221
+ 'bitimen',
222
+ 'bitir',
223
+ 'bitmart',
224
+ 'bitmex',
225
+ 'bitopro',
226
+ 'bitpanda',
227
+ 'bitpin',
228
+ 'bitrue',
229
+ 'bitso',
230
+ 'bitstamp',
231
+ 'bitteam',
232
+ 'bitvavo',
233
+ 'bl3p',
234
+ 'blockchaincom',
235
+ 'blofin',
236
+ 'btcalpha',
237
+ 'btcbox',
238
+ 'btcmarkets',
239
+ 'btcturk',
240
+ 'bybit',
241
+ 'cex',
242
+ 'coinbase',
243
+ 'coinbaseadvanced',
244
+ 'coinbaseexchange',
245
+ 'coinbaseinternational',
246
+ 'coincheck',
247
+ 'coinex',
248
+ 'coinlist',
249
+ 'coinmate',
250
+ 'coinmetro',
251
+ 'coinone',
252
+ 'coinsph',
253
+ 'coinspot',
254
+ 'cryptocom',
255
+ 'currencycom',
256
+ 'delta',
257
+ 'deribit',
258
+ 'digifinex',
259
+ 'eterex',
260
+ 'excoino',
261
+ 'exir',
262
+ 'exmo',
263
+ 'exnovin',
264
+ 'farhadexchange',
265
+ 'fmfwio',
266
+ 'gate',
267
+ 'gateio',
268
+ 'gemini',
269
+ 'hitbtc',
270
+ 'hitbtc3',
271
+ 'hitobit',
272
+ 'hollaex',
273
+ 'htx',
274
+ 'huobi',
275
+ 'huobijp',
276
+ 'hyperliquid',
277
+ 'idex',
278
+ 'independentreserve',
279
+ 'indodax',
280
+ 'jibitex',
281
+ 'kraken',
282
+ 'krakenfutures',
283
+ 'kucoin',
284
+ 'kucoinfutures',
285
+ 'kuna',
286
+ 'latoken',
287
+ 'lbank',
288
+ 'luno',
289
+ 'lykke',
290
+ 'mercado',
291
+ 'mexc',
292
+ 'ndax',
293
+ 'nobitex',
294
+ 'novadax',
295
+ 'oceanex',
296
+ 'okcoin',
297
+ 'okexchange',
298
+ 'okx',
299
+ 'ompfinex',
300
+ 'onetrading',
301
+ 'oxfun',
302
+ 'p2b',
303
+ 'paymium',
304
+ 'phemex',
305
+ 'poloniex',
306
+ 'poloniexfutures',
307
+ 'probit',
308
+ 'ramzinex',
309
+ 'sarmayex',
310
+ 'sarrafex',
311
+ 'tabdeal',
312
+ 'tetherland',
313
+ 'timex',
314
+ 'tokocrypto',
315
+ 'tradeogre',
316
+ 'twox',
317
+ 'ubitex',
318
+ 'upbit',
319
+ 'wallex',
320
+ 'wavesexchange',
321
+ 'wazirx',
322
+ 'whitebit',
323
+ 'woo',
324
+ 'woofipro',
325
+ 'xt',
326
+ 'yobit',
327
+ 'zaif',
328
+ 'zonda',
329
+ ]
330
+
331
+ base = [
332
+ 'Exchange',
333
+ 'exchanges',
334
+ 'decimal_to_precision',
335
+ ]
336
+
337
+ __all__ = base + errors.__all__ + exchanges
@@ -0,0 +1,316 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
+ # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
+
6
+ from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.abantether import ImplicitAPI
8
+ from ccxt.base.types import Market, Strings, Ticker, Tickers
9
+ from typing import List
10
+
11
+
12
+ class abantether(Exchange, ImplicitAPI):
13
+
14
+ def describe(self):
15
+ return self.deep_extend(super(abantether, self).describe(), {
16
+ 'id': 'abantether',
17
+ 'name': 'Aban tether',
18
+ 'country': ['IR'],
19
+ 'rateLimit': 1000,
20
+ 'version': '1',
21
+ 'certified': False,
22
+ 'pro': False,
23
+ 'has': {
24
+ 'CORS': None,
25
+ 'spot': True,
26
+ 'margin': False,
27
+ 'swap': False,
28
+ 'future': False,
29
+ 'option': False,
30
+ 'addMargin': False,
31
+ 'cancelAllOrders': False,
32
+ 'cancelOrder': False,
33
+ 'cancelOrders': False,
34
+ 'createDepositAddress': False,
35
+ 'createOrder': False,
36
+ 'createStopLimitOrder': False,
37
+ 'createStopMarketOrder': False,
38
+ 'createStopOrder': False,
39
+ 'editOrder': False,
40
+ 'fetchBalance': False,
41
+ 'fetchBorrowInterest': False,
42
+ 'fetchBorrowRateHistories': False,
43
+ 'fetchBorrowRateHistory': False,
44
+ 'fetchClosedOrders': False,
45
+ 'fetchCrossBorrowRate': False,
46
+ 'fetchCrossBorrowRates': False,
47
+ 'fetchCurrencies': False,
48
+ 'fetchDepositAddress': False,
49
+ 'fetchDeposits': False,
50
+ 'fetchFundingHistory': False,
51
+ 'fetchFundingRate': False,
52
+ 'fetchFundingRateHistory': False,
53
+ 'fetchFundingRates': False,
54
+ 'fetchIndexOHLCV': False,
55
+ 'fetchIsolatedBorrowRate': False,
56
+ 'fetchIsolatedBorrowRates': False,
57
+ 'fetchL2OrderBook': False,
58
+ 'fetchL3OrderBook': False,
59
+ 'fetchLedger': False,
60
+ 'fetchLedgerEntry': False,
61
+ 'fetchLeverageTiers': False,
62
+ 'fetchMarkets': True,
63
+ 'fetchMarkOHLCV': False,
64
+ 'fetchMyTrades': False,
65
+ 'fetchOHLCV': False,
66
+ 'fetchOpenInterestHistory': False,
67
+ 'fetchOpenOrders': False,
68
+ 'fetchOrder': False,
69
+ 'fetchOrderBook': False,
70
+ 'fetchOrders': False,
71
+ 'fetchOrderTrades': 'emulated',
72
+ 'fetchPositions': False,
73
+ 'fetchPremiumIndexOHLCV': False,
74
+ 'fetchTicker': True,
75
+ 'fetchTickers': True,
76
+ 'fetchTime': False,
77
+ 'fetchTrades': False,
78
+ 'fetchTradingFee': False,
79
+ 'fetchTradingFees': False,
80
+ 'fetchWithdrawals': False,
81
+ 'setLeverage': False,
82
+ 'setMarginMode': False,
83
+ 'transfer': False,
84
+ 'withdraw': False,
85
+ },
86
+ 'comment': 'This comment is optional',
87
+ 'urls': {
88
+ 'logo': 'https://cdn.arz.digital/cr-odin/img/exchanges/abantether/64x64.png',
89
+ 'api': {
90
+ 'public': 'https://abantether.com',
91
+ },
92
+ 'www': 'https://abantether.com',
93
+ 'doc': [
94
+ 'https://abantether.com',
95
+ ],
96
+ },
97
+ 'api': {
98
+ 'public': {
99
+ 'get': {
100
+ 'management/all-coins/': 1,
101
+ },
102
+ },
103
+ },
104
+ 'fees': {
105
+ 'trading': {
106
+ 'tierBased': False,
107
+ 'percentage': True,
108
+ 'maker': self.parse_number('0.001'),
109
+ 'taker': self.parse_number('0.001'),
110
+ },
111
+ },
112
+ })
113
+
114
+ async def fetch_markets(self, symbols: Strings = None, params={}) -> List[Market]:
115
+ """
116
+ retrieves data on all markets for abantether
117
+ :see: https://abantether.com/management/all-coins/?format=json
118
+ :param dict [params]: extra parameters specific to the exchange API endpoint
119
+ :returns dict[]: an array of objects representing market data
120
+ """
121
+ response = await self.publicGetManagementAllCoins(params)
122
+ result = []
123
+ quotes = ['IRT', 'USDT']
124
+ for i in range(0, len(response)):
125
+ base = self.safe_string(response[i], 'symbol')
126
+ for index in range(0, len(quotes)):
127
+ quote = quotes[index]
128
+ response[i]['base'] = base
129
+ response[i]['quote'] = quote
130
+ if base == quote:
131
+ continue
132
+ market = await self.parse_market(response[i])
133
+ result.append(market)
134
+ return result
135
+
136
+ def parse_market(self, market) -> Market:
137
+ # {
138
+ # 'symbol': 'USDT',
139
+ # 'name': 'Tether',
140
+ # 'categories': [],
141
+ # 'tetherPrice': '1',
142
+ # 'priceBuy': '59200.0',
143
+ # 'priceSell': '58800.0',
144
+ # 'persianName': '\u062a\u062a\u0631',
145
+ # 'past24': '0',
146
+ # 'marketVolume': '1',
147
+ # 'id': '1',
148
+ # 'active': True,
149
+ # 'irtDecimalPoint': '2',
150
+ # 'tetherDecimalPoint': '6',
151
+ # 'amountDecimalPoint': '6',
152
+ # 'past24volume': '767287.60530837810210936763',
153
+ # 'operationStatus': {
154
+ # 'buyActive': True,
155
+ # 'sellActive': True,
156
+ # 'withdrawalActive': True,
157
+ # 'depositActive': True,
158
+ # 'transferActive': True,
159
+ # },
160
+ # }
161
+ baseId = self.safe_string(market, 'base')
162
+ quoteId = self.safe_string(market, 'quote')
163
+ base = self.safe_currency_code(baseId)
164
+ quote = self.safe_currency_code(quoteId)
165
+ id = base + quote
166
+ baseId = baseId.lower()
167
+ quoteId = quoteId.lower()
168
+ return {
169
+ 'id': id,
170
+ 'symbol': base + '/' + quote,
171
+ 'base': base,
172
+ 'quote': quote,
173
+ 'settle': None,
174
+ 'baseId': baseId,
175
+ 'quoteId': quoteId,
176
+ 'settleId': None,
177
+ 'type': 'spot',
178
+ 'spot': True,
179
+ 'margin': False,
180
+ 'swap': False,
181
+ 'future': False,
182
+ 'option': False,
183
+ 'active': True,
184
+ 'contract': False,
185
+ 'linear': None,
186
+ 'inverse': None,
187
+ 'contractSize': None,
188
+ 'expiry': None,
189
+ 'expiryDatetime': None,
190
+ 'strike': None,
191
+ 'optionType': None,
192
+ 'precision': {
193
+ 'amount': None,
194
+ 'price': None,
195
+ },
196
+ 'limits': {
197
+ 'leverage': {
198
+ 'min': None,
199
+ 'max': None,
200
+ },
201
+ 'amount': {
202
+ 'min': None,
203
+ 'max': None,
204
+ },
205
+ 'price': {
206
+ 'min': None,
207
+ 'max': None,
208
+ },
209
+ 'cost': {
210
+ 'min': None,
211
+ 'max': None,
212
+ },
213
+ },
214
+ 'created': None,
215
+ 'info': market,
216
+ }
217
+
218
+ async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
219
+ """
220
+ fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
221
+ :see: https://abantether.com/management/all-coins/?format=json
222
+ :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
223
+ :param dict [params]: extra parameters specific to the exchange API endpoint
224
+ :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
225
+ """
226
+ await self.load_markets()
227
+ if symbols is not None:
228
+ symbols = self.market_symbols(symbols)
229
+ response = await self.publicGetManagementAllCoins(params)
230
+ result = []
231
+ quotes = ['IRT', 'USDT']
232
+ for i in range(0, len(response)):
233
+ base = self.safe_string(response[i], 'symbol')
234
+ for index in range(0, len(quotes)):
235
+ quote = quotes[index]
236
+ if base == quote:
237
+ continue
238
+ response[i]['base'] = base
239
+ response[i]['quote'] = quote
240
+ response[i]['symbol'] = base + quote
241
+ ticker = await self.parse_ticker(response[i])
242
+ symbol = ticker['symbol']
243
+ result[symbol] = ticker
244
+ return self.filter_by_array_tickers(result, 'symbol', symbols)
245
+
246
+ async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
247
+ """
248
+ fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
249
+ :see: https://abantether.com/management/all-coins/?format=json
250
+ :param str symbol: unified symbol of the market to fetch the ticker for
251
+ :param dict [params]: extra parameters specific to the exchange API endpoint
252
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
253
+ """
254
+ ticker = await self.fetch_tickers([symbol])
255
+ return ticker[symbol]
256
+
257
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
258
+ # {
259
+ # 'symbol': 'USDT',
260
+ # 'name': 'Tether',
261
+ # 'categories': [],
262
+ # 'tetherPrice': '1',
263
+ # 'priceBuy': '59200.0',
264
+ # 'priceSell': '58800.0',
265
+ # 'persianName': '\u062a\u062a\u0631',
266
+ # 'past24': '0',
267
+ # 'marketVolume': '1',
268
+ # 'id': '1',
269
+ # 'active': True,
270
+ # 'irtDecimalPoint': '2',
271
+ # 'tetherDecimalPoint': '6',
272
+ # 'amountDecimalPoint': '6',
273
+ # 'past24volume': '767287.60530837810210936763',
274
+ # 'operationStatus': {
275
+ # 'buyActive': True,
276
+ # 'sellActive': True,
277
+ # 'withdrawalActive': True,
278
+ # 'depositActive': True,
279
+ # 'transferActive': True,
280
+ # },
281
+ # }
282
+ marketType = 'otc'
283
+ marketId = self.safe_string(ticker, 'symbol')
284
+ symbol = self.safe_symbol(marketId, market, None, marketType)
285
+ last = self.safe_float(ticker, 'tetherPrice', 0)
286
+ if ticker['quote'] == 'IRT':
287
+ last = self.safe_float(ticker, 'priceSell', 0)
288
+ change = self.safe_float(ticker, 'past24', 0)
289
+ baseVolume = self.safe_float(ticker, 'past24volume', 0)
290
+ return self.safe_ticker({
291
+ 'symbol': symbol,
292
+ 'timestamp': None,
293
+ 'datetime': None,
294
+ 'high': None,
295
+ 'low': None,
296
+ 'bid': None,
297
+ 'bidVolume': None,
298
+ 'ask': None,
299
+ 'askVolume': None,
300
+ 'vwap': None,
301
+ 'open': None,
302
+ 'close': last,
303
+ 'last': last,
304
+ 'previousClose': None,
305
+ 'change': change,
306
+ 'percentage': None,
307
+ 'average': None,
308
+ 'baseVolume': baseVolume,
309
+ 'quoteVolume': None,
310
+ 'info': ticker,
311
+ }, market)
312
+
313
+ def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
314
+ url = self.urls['api']['public'] + '/' + path + '?format=json'
315
+ headers = {'Content-Type': 'application/json', 'Cookie': '__arcsco=9593a1412d8bfc752c7170b1d2264544'}
316
+ return {'url': url, 'method': method, 'body': body, 'headers': headers}