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
ccxt/__init__.py ADDED
@@ -0,0 +1,358 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ """CCXT: CryptoCurrency eXchange Trading Library"""
4
+
5
+ # MIT License
6
+ # Copyright (c) 2017 Igor Kroitor
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ # The above copyright notice and this permission notice shall be included in all
14
+ # copies or substantial portions of the Software.
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ # ----------------------------------------------------------------------------
24
+
25
+ __version__ = '4.3.46-0.1'
26
+
27
+ # ----------------------------------------------------------------------------
28
+
29
+ from ccxt.base.exchange import Exchange # noqa: F401
30
+ from ccxt.base.precise import Precise # noqa: F401
31
+
32
+ from ccxt.base.decimal_to_precision import decimal_to_precision # noqa: F401
33
+ from ccxt.base.decimal_to_precision import TRUNCATE # noqa: F401
34
+ from ccxt.base.decimal_to_precision import ROUND # noqa: F401
35
+ from ccxt.base.decimal_to_precision import ROUND_UP # noqa: F401
36
+ from ccxt.base.decimal_to_precision import ROUND_DOWN # noqa: F401
37
+ from ccxt.base.decimal_to_precision import DECIMAL_PLACES # noqa: F401
38
+ from ccxt.base.decimal_to_precision import SIGNIFICANT_DIGITS # noqa: F401
39
+ from ccxt.base.decimal_to_precision import TICK_SIZE # noqa: F401
40
+ from ccxt.base.decimal_to_precision import NO_PADDING # noqa: F401
41
+ from ccxt.base.decimal_to_precision import PAD_WITH_ZERO # noqa: F401
42
+
43
+ from ccxt.base import errors
44
+ from ccxt.base.errors import BaseError # noqa: F401
45
+ from ccxt.base.errors import ExchangeError # noqa: F401
46
+ from ccxt.base.errors import AuthenticationError # noqa: F401
47
+ from ccxt.base.errors import PermissionDenied # noqa: F401
48
+ from ccxt.base.errors import AccountNotEnabled # noqa: F401
49
+ from ccxt.base.errors import AccountSuspended # noqa: F401
50
+ from ccxt.base.errors import ArgumentsRequired # noqa: F401
51
+ from ccxt.base.errors import BadRequest # noqa: F401
52
+ from ccxt.base.errors import BadSymbol # noqa: F401
53
+ from ccxt.base.errors import OperationRejected # noqa: F401
54
+ from ccxt.base.errors import NoChange # noqa: F401
55
+ from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
56
+ from ccxt.base.errors import MarketClosed # noqa: F401
57
+ from ccxt.base.errors import BadResponse # noqa: F401
58
+ from ccxt.base.errors import NullResponse # noqa: F401
59
+ from ccxt.base.errors import InsufficientFunds # noqa: F401
60
+ from ccxt.base.errors import InvalidAddress # noqa: F401
61
+ from ccxt.base.errors import AddressPending # noqa: F401
62
+ from ccxt.base.errors import InvalidOrder # noqa: F401
63
+ from ccxt.base.errors import OrderNotFound # noqa: F401
64
+ from ccxt.base.errors import OrderNotCached # noqa: F401
65
+ from ccxt.base.errors import CancelPending # noqa: F401
66
+ from ccxt.base.errors import OrderImmediatelyFillable # noqa: F401
67
+ from ccxt.base.errors import OrderNotFillable # noqa: F401
68
+ from ccxt.base.errors import DuplicateOrderId # noqa: F401
69
+ from ccxt.base.errors import ContractUnavailable # noqa: F401
70
+ from ccxt.base.errors import NotSupported # noqa: F401
71
+ from ccxt.base.errors import ProxyError # noqa: F401
72
+ from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
73
+ from ccxt.base.errors import OperationFailed # noqa: F401
74
+ from ccxt.base.errors import NetworkError # noqa: F401
75
+ from ccxt.base.errors import DDoSProtection # noqa: F401
76
+ from ccxt.base.errors import RateLimitExceeded # noqa: F401
77
+ from ccxt.base.errors import ExchangeNotAvailable # noqa: F401
78
+ from ccxt.base.errors import OnMaintenance # noqa: F401
79
+ from ccxt.base.errors import InvalidNonce # noqa: F401
80
+ from ccxt.base.errors import RequestTimeout # noqa: F401
81
+ from ccxt.base.errors import error_hierarchy # noqa: F401
82
+
83
+ from ccxt.abantether import abantether # noqa: F401
84
+ from ccxt.ace import ace # noqa: F401
85
+ from ccxt.afratether import afratether # noqa: F401
86
+ from ccxt.alpaca import alpaca # noqa: F401
87
+ from ccxt.arzinja import arzinja # noqa: F401
88
+ from ccxt.arzplus import arzplus # noqa: F401
89
+ from ccxt.ascendex import ascendex # noqa: F401
90
+ from ccxt.bequant import bequant # noqa: F401
91
+ from ccxt.bigone import bigone # noqa: F401
92
+ from ccxt.binance import binance # noqa: F401
93
+ from ccxt.binancecoinm import binancecoinm # noqa: F401
94
+ from ccxt.binanceus import binanceus # noqa: F401
95
+ from ccxt.binanceusdm import binanceusdm # noqa: F401
96
+ from ccxt.bingx import bingx # noqa: F401
97
+ from ccxt.bit2c import bit2c # noqa: F401
98
+ from ccxt.bitbank import bitbank # noqa: F401
99
+ from ccxt.bitbay import bitbay # noqa: F401
100
+ from ccxt.bitbns import bitbns # noqa: F401
101
+ from ccxt.bitcoincom import bitcoincom # noqa: F401
102
+ from ccxt.bitfinex import bitfinex # noqa: F401
103
+ from ccxt.bitfinex2 import bitfinex2 # noqa: F401
104
+ from ccxt.bitflyer import bitflyer # noqa: F401
105
+ from ccxt.bitget import bitget # noqa: F401
106
+ from ccxt.bithumb import bithumb # noqa: F401
107
+ from ccxt.bitimen import bitimen # noqa: F401
108
+ from ccxt.bitir import bitir # noqa: F401
109
+ from ccxt.bitmart import bitmart # noqa: F401
110
+ from ccxt.bitmex import bitmex # noqa: F401
111
+ from ccxt.bitopro import bitopro # noqa: F401
112
+ from ccxt.bitpanda import bitpanda # noqa: F401
113
+ from ccxt.bitpin import bitpin # noqa: F401
114
+ from ccxt.bitrue import bitrue # noqa: F401
115
+ from ccxt.bitso import bitso # noqa: F401
116
+ from ccxt.bitstamp import bitstamp # noqa: F401
117
+ from ccxt.bitteam import bitteam # noqa: F401
118
+ from ccxt.bitvavo import bitvavo # noqa: F401
119
+ from ccxt.bl3p import bl3p # noqa: F401
120
+ from ccxt.blockchaincom import blockchaincom # noqa: F401
121
+ from ccxt.blofin import blofin # noqa: F401
122
+ from ccxt.btcalpha import btcalpha # noqa: F401
123
+ from ccxt.btcbox import btcbox # noqa: F401
124
+ from ccxt.btcmarkets import btcmarkets # noqa: F401
125
+ from ccxt.btcturk import btcturk # noqa: F401
126
+ from ccxt.bybit import bybit # noqa: F401
127
+ from ccxt.cex import cex # noqa: F401
128
+ from ccxt.coinbase import coinbase # noqa: F401
129
+ from ccxt.coinbaseadvanced import coinbaseadvanced # noqa: F401
130
+ from ccxt.coinbaseexchange import coinbaseexchange # noqa: F401
131
+ from ccxt.coinbaseinternational import coinbaseinternational # noqa: F401
132
+ from ccxt.coincheck import coincheck # noqa: F401
133
+ from ccxt.coinex import coinex # noqa: F401
134
+ from ccxt.coinlist import coinlist # noqa: F401
135
+ from ccxt.coinmate import coinmate # noqa: F401
136
+ from ccxt.coinmetro import coinmetro # noqa: F401
137
+ from ccxt.coinone import coinone # noqa: F401
138
+ from ccxt.coinsph import coinsph # noqa: F401
139
+ from ccxt.coinspot import coinspot # noqa: F401
140
+ from ccxt.cryptocom import cryptocom # noqa: F401
141
+ from ccxt.currencycom import currencycom # noqa: F401
142
+ from ccxt.delta import delta # noqa: F401
143
+ from ccxt.deribit import deribit # noqa: F401
144
+ from ccxt.digifinex import digifinex # noqa: F401
145
+ from ccxt.eterex import eterex # noqa: F401
146
+ from ccxt.excoino import excoino # noqa: F401
147
+ from ccxt.exir import exir # noqa: F401
148
+ from ccxt.exmo import exmo # noqa: F401
149
+ from ccxt.exnovin import exnovin # noqa: F401
150
+ from ccxt.farhadexchange import farhadexchange # noqa: F401
151
+ from ccxt.fmfwio import fmfwio # noqa: F401
152
+ from ccxt.gate import gate # noqa: F401
153
+ from ccxt.gateio import gateio # noqa: F401
154
+ from ccxt.gemini import gemini # noqa: F401
155
+ from ccxt.hitbtc import hitbtc # noqa: F401
156
+ from ccxt.hitbtc3 import hitbtc3 # noqa: F401
157
+ from ccxt.hitobit import hitobit # noqa: F401
158
+ from ccxt.hollaex import hollaex # noqa: F401
159
+ from ccxt.htx import htx # noqa: F401
160
+ from ccxt.huobi import huobi # noqa: F401
161
+ from ccxt.huobijp import huobijp # noqa: F401
162
+ from ccxt.hyperliquid import hyperliquid # noqa: F401
163
+ from ccxt.idex import idex # noqa: F401
164
+ from ccxt.independentreserve import independentreserve # noqa: F401
165
+ from ccxt.indodax import indodax # noqa: F401
166
+ from ccxt.jibitex import jibitex # noqa: F401
167
+ from ccxt.kraken import kraken # noqa: F401
168
+ from ccxt.krakenfutures import krakenfutures # noqa: F401
169
+ from ccxt.kucoin import kucoin # noqa: F401
170
+ from ccxt.kucoinfutures import kucoinfutures # noqa: F401
171
+ from ccxt.kuna import kuna # noqa: F401
172
+ from ccxt.latoken import latoken # noqa: F401
173
+ from ccxt.lbank import lbank # noqa: F401
174
+ from ccxt.luno import luno # noqa: F401
175
+ from ccxt.lykke import lykke # noqa: F401
176
+ from ccxt.mercado import mercado # noqa: F401
177
+ from ccxt.mexc import mexc # noqa: F401
178
+ from ccxt.ndax import ndax # noqa: F401
179
+ from ccxt.nobitex import nobitex # noqa: F401
180
+ from ccxt.novadax import novadax # noqa: F401
181
+ from ccxt.oceanex import oceanex # noqa: F401
182
+ from ccxt.okcoin import okcoin # noqa: F401
183
+ from ccxt.okexchange import okexchange # noqa: F401
184
+ from ccxt.okx import okx # noqa: F401
185
+ from ccxt.ompfinex import ompfinex # noqa: F401
186
+ from ccxt.onetrading import onetrading # noqa: F401
187
+ from ccxt.oxfun import oxfun # noqa: F401
188
+ from ccxt.p2b import p2b # noqa: F401
189
+ from ccxt.paymium import paymium # noqa: F401
190
+ from ccxt.phemex import phemex # noqa: F401
191
+ from ccxt.poloniex import poloniex # noqa: F401
192
+ from ccxt.poloniexfutures import poloniexfutures # noqa: F401
193
+ from ccxt.probit import probit # noqa: F401
194
+ from ccxt.ramzinex import ramzinex # noqa: F401
195
+ from ccxt.sarmayex import sarmayex # noqa: F401
196
+ from ccxt.sarrafex import sarrafex # noqa: F401
197
+ from ccxt.tabdeal import tabdeal # noqa: F401
198
+ from ccxt.tetherland import tetherland # noqa: F401
199
+ from ccxt.timex import timex # noqa: F401
200
+ from ccxt.tokocrypto import tokocrypto # noqa: F401
201
+ from ccxt.tradeogre import tradeogre # noqa: F401
202
+ from ccxt.twox import twox # noqa: F401
203
+ from ccxt.ubitex import ubitex # noqa: F401
204
+ from ccxt.upbit import upbit # noqa: F401
205
+ from ccxt.wallex import wallex # noqa: F401
206
+ from ccxt.wavesexchange import wavesexchange # noqa: F401
207
+ from ccxt.wazirx import wazirx # noqa: F401
208
+ from ccxt.whitebit import whitebit # noqa: F401
209
+ from ccxt.woo import woo # noqa: F401
210
+ from ccxt.woofipro import woofipro # noqa: F401
211
+ from ccxt.xt import xt # noqa: F401
212
+ from ccxt.yobit import yobit # noqa: F401
213
+ from ccxt.zaif import zaif # noqa: F401
214
+ from ccxt.zonda import zonda # noqa: F401
215
+
216
+ exchanges = [
217
+ 'abantether',
218
+ 'ace',
219
+ 'afratether',
220
+ 'alpaca',
221
+ 'arzinja',
222
+ 'arzplus',
223
+ 'ascendex',
224
+ 'bequant',
225
+ 'bigone',
226
+ 'binance',
227
+ 'binancecoinm',
228
+ 'binanceus',
229
+ 'binanceusdm',
230
+ 'bingx',
231
+ 'bit2c',
232
+ 'bitbank',
233
+ 'bitbay',
234
+ 'bitbns',
235
+ 'bitcoincom',
236
+ 'bitfinex',
237
+ 'bitfinex2',
238
+ 'bitflyer',
239
+ 'bitget',
240
+ 'bithumb',
241
+ 'bitimen',
242
+ 'bitir',
243
+ 'bitmart',
244
+ 'bitmex',
245
+ 'bitopro',
246
+ 'bitpanda',
247
+ 'bitpin',
248
+ 'bitrue',
249
+ 'bitso',
250
+ 'bitstamp',
251
+ 'bitteam',
252
+ 'bitvavo',
253
+ 'bl3p',
254
+ 'blockchaincom',
255
+ 'blofin',
256
+ 'btcalpha',
257
+ 'btcbox',
258
+ 'btcmarkets',
259
+ 'btcturk',
260
+ 'bybit',
261
+ 'cex',
262
+ 'coinbase',
263
+ 'coinbaseadvanced',
264
+ 'coinbaseexchange',
265
+ 'coinbaseinternational',
266
+ 'coincheck',
267
+ 'coinex',
268
+ 'coinlist',
269
+ 'coinmate',
270
+ 'coinmetro',
271
+ 'coinone',
272
+ 'coinsph',
273
+ 'coinspot',
274
+ 'cryptocom',
275
+ 'currencycom',
276
+ 'delta',
277
+ 'deribit',
278
+ 'digifinex',
279
+ 'eterex',
280
+ 'excoino',
281
+ 'exir',
282
+ 'exmo',
283
+ 'exnovin',
284
+ 'farhadexchange',
285
+ 'fmfwio',
286
+ 'gate',
287
+ 'gateio',
288
+ 'gemini',
289
+ 'hitbtc',
290
+ 'hitbtc3',
291
+ 'hitobit',
292
+ 'hollaex',
293
+ 'htx',
294
+ 'huobi',
295
+ 'huobijp',
296
+ 'hyperliquid',
297
+ 'idex',
298
+ 'independentreserve',
299
+ 'indodax',
300
+ 'jibitex',
301
+ 'kraken',
302
+ 'krakenfutures',
303
+ 'kucoin',
304
+ 'kucoinfutures',
305
+ 'kuna',
306
+ 'latoken',
307
+ 'lbank',
308
+ 'luno',
309
+ 'lykke',
310
+ 'mercado',
311
+ 'mexc',
312
+ 'ndax',
313
+ 'nobitex',
314
+ 'novadax',
315
+ 'oceanex',
316
+ 'okcoin',
317
+ 'okexchange',
318
+ 'okx',
319
+ 'ompfinex',
320
+ 'onetrading',
321
+ 'oxfun',
322
+ 'p2b',
323
+ 'paymium',
324
+ 'phemex',
325
+ 'poloniex',
326
+ 'poloniexfutures',
327
+ 'probit',
328
+ 'ramzinex',
329
+ 'sarmayex',
330
+ 'sarrafex',
331
+ 'tabdeal',
332
+ 'tetherland',
333
+ 'timex',
334
+ 'tokocrypto',
335
+ 'tradeogre',
336
+ 'twox',
337
+ 'ubitex',
338
+ 'upbit',
339
+ 'wallex',
340
+ 'wavesexchange',
341
+ 'wazirx',
342
+ 'whitebit',
343
+ 'woo',
344
+ 'woofipro',
345
+ 'xt',
346
+ 'yobit',
347
+ 'zaif',
348
+ 'zonda',
349
+ ]
350
+
351
+ base = [
352
+ 'Exchange',
353
+ 'Precise',
354
+ 'exchanges',
355
+ 'decimal_to_precision',
356
+ ]
357
+
358
+ __all__ = base + errors.__all__ + exchanges
ccxt/abantether.py ADDED
@@ -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.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
+ 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 = 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 = 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
+ 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
+ self.load_markets()
227
+ if symbols is not None:
228
+ symbols = self.market_symbols(symbols)
229
+ response = 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 = 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
+ 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 = 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}
File without changes
@@ -0,0 +1,5 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ public_get_management_all_coins = publicGetManagementAllCoins = Entry('management/all-coins/', 'public', 'GET', {'cost': 1})