ccxt-ir 4.3.46.0.2__py2.py3-none-any.whl → 4.5.0__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. ccxt/__init__.py +39 -35
  2. ccxt/abantether.py +9 -9
  3. ccxt/abstract/alpaca.py +4 -0
  4. ccxt/abstract/apex.py +31 -0
  5. ccxt/abstract/bigone.py +1 -1
  6. ccxt/abstract/binance.py +106 -48
  7. ccxt/abstract/binancecoinm.py +106 -48
  8. ccxt/abstract/binanceus.py +141 -83
  9. ccxt/abstract/binanceusdm.py +106 -48
  10. ccxt/abstract/bingx.py +50 -1
  11. ccxt/abstract/bitbank.py +5 -0
  12. ccxt/abstract/bitfinex.py +136 -65
  13. ccxt/abstract/bitflyer.py +1 -0
  14. ccxt/abstract/bitget.py +67 -0
  15. ccxt/abstract/bitmart.py +19 -1
  16. ccxt/abstract/bitopro.py +1 -0
  17. ccxt/abstract/bitrue.py +68 -68
  18. ccxt/abstract/bitstamp.py +1 -0
  19. ccxt/abstract/blofin.py +30 -0
  20. ccxt/abstract/btcbox.py +2 -0
  21. ccxt/abstract/bybit.py +28 -13
  22. ccxt/abstract/cex.py +28 -29
  23. ccxt/abstract/coinbaseexchange.py +1 -0
  24. ccxt/abstract/coinbaseinternational.py +1 -1
  25. ccxt/abstract/cryptocom.py +16 -0
  26. ccxt/abstract/cryptomus.py +20 -0
  27. ccxt/abstract/defx.py +69 -0
  28. ccxt/abstract/deribit.py +1 -0
  29. ccxt/abstract/derive.py +117 -0
  30. ccxt/abstract/digifinex.py +1 -0
  31. ccxt/abstract/ellipx.py +25 -0
  32. ccxt/abstract/foxbit.py +26 -0
  33. ccxt/abstract/gate.py +19 -0
  34. ccxt/abstract/gateio.py +19 -0
  35. ccxt/abstract/gemini.py +1 -0
  36. ccxt/abstract/hibachi.py +26 -0
  37. ccxt/abstract/hyperliquid.py +1 -1
  38. ccxt/abstract/independentreserve.py +6 -0
  39. ccxt/abstract/kraken.py +1 -0
  40. ccxt/abstract/krakenfutures.py +4 -0
  41. ccxt/abstract/kucoin.py +10 -0
  42. ccxt/abstract/kucoinfutures.py +18 -0
  43. ccxt/abstract/lbank.py +2 -1
  44. ccxt/abstract/luno.py +1 -0
  45. ccxt/abstract/mexc.py +2 -0
  46. ccxt/abstract/modetrade.py +119 -0
  47. ccxt/abstract/myokx.py +349 -0
  48. ccxt/abstract/oceanex.py +5 -0
  49. ccxt/abstract/okx.py +25 -0
  50. ccxt/abstract/okxus.py +349 -0
  51. ccxt/abstract/onetrading.py +0 -12
  52. ccxt/abstract/paradex.py +23 -0
  53. ccxt/abstract/phemex.py +2 -0
  54. ccxt/abstract/poloniex.py +36 -0
  55. ccxt/abstract/tradeogre.py +3 -1
  56. ccxt/abstract/upbit.py +51 -34
  57. ccxt/abstract/whitebit.py +16 -0
  58. ccxt/abstract/woo.py +64 -6
  59. ccxt/abstract/xt.py +10 -5
  60. ccxt/afratether.py +7 -7
  61. ccxt/alpaca.py +828 -51
  62. ccxt/apex.py +1875 -0
  63. ccxt/arzinja.py +7 -7
  64. ccxt/arzplus.py +9 -9
  65. ccxt/ascendex.py +501 -306
  66. ccxt/async_support/__init__.py +39 -35
  67. ccxt/async_support/abantether.py +10 -10
  68. ccxt/async_support/afratether.py +9 -9
  69. ccxt/async_support/alpaca.py +828 -51
  70. ccxt/async_support/apex.py +1875 -0
  71. ccxt/async_support/arzinja.py +10 -10
  72. ccxt/async_support/arzplus.py +12 -12
  73. ccxt/async_support/ascendex.py +502 -306
  74. ccxt/async_support/base/exchange.py +303 -89
  75. ccxt/async_support/base/ws/cache.py +9 -3
  76. ccxt/async_support/base/ws/client.py +173 -38
  77. ccxt/async_support/base/ws/future.py +25 -37
  78. ccxt/async_support/bequant.py +5 -3
  79. ccxt/async_support/bigone.py +279 -144
  80. ccxt/async_support/binance.py +2347 -1158
  81. ccxt/async_support/binancecoinm.py +9 -3
  82. ccxt/async_support/binanceus.py +17 -3
  83. ccxt/async_support/binanceusdm.py +9 -4
  84. ccxt/async_support/bingx.py +2962 -920
  85. ccxt/async_support/bit2c.py +147 -27
  86. ccxt/async_support/bitbank.py +151 -23
  87. ccxt/async_support/bitbns.py +104 -30
  88. ccxt/async_support/bitfinex.py +3291 -1113
  89. ccxt/async_support/bitflyer.py +202 -27
  90. ccxt/async_support/bitget.py +3683 -1538
  91. ccxt/async_support/bithumb.py +195 -38
  92. ccxt/async_support/bitimen.py +12 -12
  93. ccxt/async_support/bitir.py +38 -38
  94. ccxt/async_support/bitmart.py +1288 -350
  95. ccxt/async_support/bitmex.py +260 -75
  96. ccxt/async_support/bitopro.py +262 -62
  97. ccxt/async_support/bitpin.py +17 -16
  98. ccxt/async_support/bitrue.py +459 -290
  99. ccxt/async_support/bitso.py +199 -54
  100. ccxt/async_support/bitstamp.py +230 -96
  101. ccxt/async_support/bitteam.py +167 -25
  102. ccxt/async_support/{huobijp.py → bittrade.py} +158 -30
  103. ccxt/async_support/bitvavo.py +213 -49
  104. ccxt/async_support/blockchaincom.py +160 -46
  105. ccxt/async_support/blofin.py +502 -120
  106. ccxt/async_support/btcalpha.py +169 -31
  107. ccxt/async_support/btcbox.py +292 -23
  108. ccxt/async_support/btcmarkets.py +211 -58
  109. ccxt/async_support/btcturk.py +161 -38
  110. ccxt/async_support/bybit.py +1775 -1030
  111. ccxt/async_support/cex.py +1440 -1303
  112. ccxt/async_support/coinbase.py +724 -212
  113. ccxt/async_support/coinbaseadvanced.py +2 -1
  114. ccxt/async_support/coinbaseexchange.py +388 -89
  115. ccxt/async_support/coinbaseinternational.py +412 -57
  116. ccxt/async_support/coincatch.py +177 -78
  117. ccxt/async_support/coincheck.py +135 -19
  118. ccxt/async_support/coinex.py +606 -232
  119. ccxt/async_support/coinmate.py +189 -63
  120. ccxt/async_support/coinmetro.py +195 -54
  121. ccxt/async_support/coinone.py +158 -51
  122. ccxt/async_support/coinsph.py +336 -61
  123. ccxt/async_support/coinspot.py +151 -52
  124. ccxt/async_support/cryptocom.py +661 -111
  125. ccxt/async_support/cryptomus.py +1137 -0
  126. ccxt/async_support/defx.py +2071 -0
  127. ccxt/async_support/delta.py +299 -99
  128. ccxt/async_support/deribit.py +348 -126
  129. ccxt/async_support/derive.py +2572 -0
  130. ccxt/async_support/digifinex.py +430 -214
  131. ccxt/async_support/ellipx.py +2029 -0
  132. ccxt/async_support/eterex.py +10 -10
  133. ccxt/async_support/excoino.py +31 -31
  134. ccxt/async_support/exir.py +14 -14
  135. ccxt/async_support/exmo.py +344 -131
  136. ccxt/async_support/exnovin.py +10 -10
  137. ccxt/async_support/farhadexchange.py +12 -12
  138. ccxt/async_support/fmfwio.py +2 -1
  139. ccxt/async_support/foxbit.py +1935 -0
  140. ccxt/async_support/gate.py +1351 -529
  141. ccxt/async_support/gateio.py +2 -1
  142. ccxt/async_support/gemini.py +144 -39
  143. ccxt/async_support/hashkey.py +152 -109
  144. ccxt/async_support/hibachi.py +2080 -0
  145. ccxt/async_support/hitbtc.py +395 -167
  146. ccxt/async_support/hitobit.py +12 -12
  147. ccxt/async_support/hollaex.py +307 -119
  148. ccxt/async_support/htx.py +851 -383
  149. ccxt/async_support/huobi.py +2 -1
  150. ccxt/async_support/hyperliquid.py +1848 -536
  151. ccxt/async_support/independentreserve.py +288 -15
  152. ccxt/async_support/indodax.py +190 -33
  153. ccxt/async_support/jibitex.py +12 -12
  154. ccxt/async_support/kraken.py +795 -351
  155. ccxt/async_support/krakenfutures.py +214 -62
  156. ccxt/async_support/kucoin.py +715 -396
  157. ccxt/async_support/kucoinfutures.py +652 -89
  158. ccxt/async_support/latoken.py +217 -113
  159. ccxt/async_support/lbank.py +425 -97
  160. ccxt/async_support/luno.py +382 -35
  161. ccxt/async_support/mercado.py +113 -6
  162. ccxt/async_support/mexc.py +874 -437
  163. ccxt/async_support/modetrade.py +2818 -0
  164. ccxt/async_support/myokx.py +54 -0
  165. ccxt/async_support/ndax.py +221 -64
  166. ccxt/async_support/nobitex.py +31 -37
  167. ccxt/async_support/novadax.py +190 -34
  168. ccxt/async_support/oceanex.py +217 -28
  169. ccxt/async_support/okcoin.py +253 -145
  170. ccxt/async_support/okexchange.py +11 -11
  171. ccxt/async_support/okx.py +1088 -351
  172. ccxt/async_support/okxus.py +54 -0
  173. ccxt/async_support/ompfinex.py +25 -24
  174. ccxt/async_support/onetrading.py +213 -392
  175. ccxt/async_support/oxfun.py +245 -166
  176. ccxt/async_support/p2b.py +151 -29
  177. ccxt/async_support/paradex.py +562 -49
  178. ccxt/async_support/paymium.py +82 -19
  179. ccxt/async_support/phemex.py +713 -172
  180. ccxt/async_support/poloniex.py +1602 -283
  181. ccxt/async_support/probit.py +224 -95
  182. ccxt/async_support/ramzinex.py +30 -27
  183. ccxt/async_support/sarmayex.py +9 -9
  184. ccxt/async_support/sarrafex.py +13 -13
  185. ccxt/async_support/tabdeal.py +14 -13
  186. ccxt/async_support/tetherland.py +9 -9
  187. ccxt/async_support/timex.py +210 -51
  188. ccxt/async_support/tokocrypto.py +167 -47
  189. ccxt/async_support/tradeogre.py +266 -31
  190. ccxt/async_support/twox.py +9 -9
  191. ccxt/async_support/ubitex.py +12 -12
  192. ccxt/async_support/upbit.py +568 -165
  193. ccxt/async_support/vertex.py +160 -32
  194. ccxt/async_support/wallex.py +12 -12
  195. ccxt/async_support/wavesexchange.py +165 -30
  196. ccxt/async_support/whitebit.py +975 -127
  197. ccxt/async_support/woo.py +1918 -1016
  198. ccxt/async_support/woofipro.py +433 -141
  199. ccxt/async_support/xt.py +649 -193
  200. ccxt/async_support/yobit.py +195 -70
  201. ccxt/async_support/zaif.py +91 -15
  202. ccxt/async_support/zonda.py +151 -36
  203. ccxt/base/decimal_to_precision.py +14 -10
  204. ccxt/base/errors.py +49 -18
  205. ccxt/base/exchange.py +1556 -450
  206. ccxt/base/precise.py +10 -0
  207. ccxt/base/types.py +114 -6
  208. ccxt/bequant.py +5 -3
  209. ccxt/bigone.py +279 -144
  210. ccxt/binance.py +2347 -1158
  211. ccxt/binancecoinm.py +9 -3
  212. ccxt/binanceus.py +17 -3
  213. ccxt/binanceusdm.py +9 -4
  214. ccxt/bingx.py +2962 -920
  215. ccxt/bit2c.py +147 -27
  216. ccxt/bitbank.py +151 -23
  217. ccxt/bitbns.py +104 -30
  218. ccxt/bitfinex.py +3290 -1113
  219. ccxt/bitflyer.py +202 -27
  220. ccxt/bitget.py +3683 -1538
  221. ccxt/bithumb.py +194 -38
  222. ccxt/bitimen.py +9 -9
  223. ccxt/bitir.py +35 -35
  224. ccxt/bitmart.py +1288 -350
  225. ccxt/bitmex.py +260 -75
  226. ccxt/bitopro.py +262 -62
  227. ccxt/bitpin.py +15 -14
  228. ccxt/bitrue.py +459 -290
  229. ccxt/bitso.py +199 -54
  230. ccxt/bitstamp.py +230 -96
  231. ccxt/bitteam.py +167 -25
  232. ccxt/{huobijp.py → bittrade.py} +158 -30
  233. ccxt/bitvavo.py +213 -49
  234. ccxt/blockchaincom.py +160 -46
  235. ccxt/blofin.py +502 -120
  236. ccxt/btcalpha.py +169 -31
  237. ccxt/btcbox.py +291 -23
  238. ccxt/btcmarkets.py +211 -58
  239. ccxt/btcturk.py +161 -38
  240. ccxt/bybit.py +1775 -1030
  241. ccxt/cex.py +1439 -1303
  242. ccxt/coinbase.py +724 -212
  243. ccxt/coinbaseadvanced.py +2 -1
  244. ccxt/coinbaseexchange.py +388 -89
  245. ccxt/coinbaseinternational.py +412 -57
  246. ccxt/coincatch.py +177 -78
  247. ccxt/coincheck.py +135 -19
  248. ccxt/coinex.py +606 -232
  249. ccxt/coinmate.py +189 -63
  250. ccxt/coinmetro.py +194 -54
  251. ccxt/coinone.py +158 -51
  252. ccxt/coinsph.py +336 -61
  253. ccxt/coinspot.py +151 -52
  254. ccxt/cryptocom.py +661 -111
  255. ccxt/cryptomus.py +1137 -0
  256. ccxt/defx.py +2070 -0
  257. ccxt/delta.py +299 -99
  258. ccxt/deribit.py +348 -126
  259. ccxt/derive.py +2571 -0
  260. ccxt/digifinex.py +430 -214
  261. ccxt/ellipx.py +2029 -0
  262. ccxt/eterex.py +7 -7
  263. ccxt/excoino.py +29 -29
  264. ccxt/exir.py +11 -11
  265. ccxt/exmo.py +343 -131
  266. ccxt/exnovin.py +8 -8
  267. ccxt/farhadexchange.py +10 -10
  268. ccxt/fmfwio.py +2 -1
  269. ccxt/foxbit.py +1935 -0
  270. ccxt/gate.py +1351 -529
  271. ccxt/gateio.py +2 -1
  272. ccxt/gemini.py +144 -39
  273. ccxt/hashkey.py +152 -109
  274. ccxt/hibachi.py +2079 -0
  275. ccxt/hitbtc.py +395 -167
  276. ccxt/hitobit.py +9 -9
  277. ccxt/hollaex.py +307 -119
  278. ccxt/htx.py +851 -383
  279. ccxt/huobi.py +2 -1
  280. ccxt/hyperliquid.py +1848 -536
  281. ccxt/independentreserve.py +287 -15
  282. ccxt/indodax.py +190 -33
  283. ccxt/jibitex.py +9 -9
  284. ccxt/kraken.py +794 -351
  285. ccxt/krakenfutures.py +214 -62
  286. ccxt/kucoin.py +715 -396
  287. ccxt/kucoinfutures.py +652 -89
  288. ccxt/latoken.py +217 -113
  289. ccxt/lbank.py +425 -97
  290. ccxt/luno.py +382 -35
  291. ccxt/mercado.py +113 -6
  292. ccxt/mexc.py +873 -437
  293. ccxt/modetrade.py +2818 -0
  294. ccxt/myokx.py +54 -0
  295. ccxt/ndax.py +221 -64
  296. ccxt/nobitex.py +29 -35
  297. ccxt/novadax.py +190 -34
  298. ccxt/oceanex.py +217 -28
  299. ccxt/okcoin.py +253 -145
  300. ccxt/okexchange.py +9 -9
  301. ccxt/okx.py +1088 -351
  302. ccxt/okxus.py +54 -0
  303. ccxt/ompfinex.py +22 -21
  304. ccxt/onetrading.py +213 -392
  305. ccxt/oxfun.py +245 -166
  306. ccxt/p2b.py +151 -29
  307. ccxt/paradex.py +562 -49
  308. ccxt/paymium.py +82 -19
  309. ccxt/phemex.py +712 -172
  310. ccxt/poloniex.py +1601 -283
  311. ccxt/pro/__init__.py +76 -17
  312. ccxt/pro/alpaca.py +21 -6
  313. ccxt/pro/apex.py +984 -0
  314. ccxt/pro/ascendex.py +58 -10
  315. ccxt/pro/bequant.py +6 -1
  316. ccxt/pro/binance.py +728 -156
  317. ccxt/pro/binancecoinm.py +6 -2
  318. ccxt/pro/binanceus.py +8 -4
  319. ccxt/pro/binanceusdm.py +7 -2
  320. ccxt/pro/bingx.py +333 -142
  321. ccxt/pro/bitfinex.py +727 -262
  322. ccxt/pro/bitget.py +570 -79
  323. ccxt/pro/bithumb.py +20 -6
  324. ccxt/pro/bitmart.py +216 -87
  325. ccxt/pro/bitmex.py +47 -9
  326. ccxt/pro/bitopro.py +26 -14
  327. ccxt/pro/bitrue.py +22 -22
  328. ccxt/pro/bitstamp.py +54 -21
  329. ccxt/pro/{huobijp.py → bittrade.py} +7 -6
  330. ccxt/pro/bitvavo.py +191 -67
  331. ccxt/pro/blockchaincom.py +21 -8
  332. ccxt/pro/blofin.py +9 -1
  333. ccxt/pro/bybit.py +632 -245
  334. ccxt/pro/cex.py +59 -24
  335. ccxt/pro/coinbase.py +102 -73
  336. ccxt/pro/coinbaseadvanced.py +2 -1
  337. ccxt/pro/coinbaseexchange.py +8 -8
  338. ccxt/pro/coinbaseinternational.py +181 -25
  339. ccxt/pro/coincatch.py +6 -7
  340. ccxt/pro/coincheck.py +11 -6
  341. ccxt/pro/coinex.py +967 -665
  342. ccxt/pro/coinone.py +16 -9
  343. ccxt/pro/cryptocom.py +448 -45
  344. ccxt/pro/defx.py +831 -0
  345. ccxt/pro/deribit.py +150 -14
  346. ccxt/pro/derive.py +704 -0
  347. ccxt/pro/exmo.py +239 -6
  348. ccxt/pro/gate.py +623 -65
  349. ccxt/pro/gateio.py +2 -1
  350. ccxt/pro/gemini.py +27 -11
  351. ccxt/pro/hashkey.py +2 -2
  352. ccxt/pro/hitbtc.py +196 -91
  353. ccxt/pro/hollaex.py +23 -7
  354. ccxt/pro/htx.py +51 -14
  355. ccxt/pro/huobi.py +2 -1
  356. ccxt/pro/hyperliquid.py +591 -27
  357. ccxt/pro/independentreserve.py +9 -6
  358. ccxt/pro/kraken.py +640 -320
  359. ccxt/pro/krakenfutures.py +62 -35
  360. ccxt/pro/kucoin.py +267 -46
  361. ccxt/pro/kucoinfutures.py +165 -21
  362. ccxt/pro/lbank.py +102 -21
  363. ccxt/pro/luno.py +12 -8
  364. ccxt/pro/mexc.py +877 -111
  365. ccxt/pro/modetrade.py +1271 -0
  366. ccxt/pro/myokx.py +38 -0
  367. ccxt/pro/ndax.py +15 -2
  368. ccxt/pro/okcoin.py +23 -4
  369. ccxt/pro/okx.py +573 -98
  370. ccxt/pro/okxus.py +38 -0
  371. ccxt/pro/onetrading.py +30 -13
  372. ccxt/pro/oxfun.py +131 -27
  373. ccxt/pro/p2b.py +88 -22
  374. ccxt/pro/paradex.py +3 -3
  375. ccxt/pro/phemex.py +75 -21
  376. ccxt/pro/poloniex.py +124 -41
  377. ccxt/pro/probit.py +87 -80
  378. ccxt/pro/tradeogre.py +272 -0
  379. ccxt/pro/upbit.py +152 -12
  380. ccxt/pro/vertex.py +8 -3
  381. ccxt/pro/whitebit.py +58 -5
  382. ccxt/pro/woo.py +228 -37
  383. ccxt/pro/woofipro.py +106 -18
  384. ccxt/pro/xt.py +111 -5
  385. ccxt/probit.py +224 -95
  386. ccxt/protobuf/__init__.py +0 -0
  387. ccxt/protobuf/mexc/PrivateAccountV3Api_pb2.py +37 -0
  388. ccxt/protobuf/mexc/PrivateDealsV3Api_pb2.py +37 -0
  389. ccxt/protobuf/mexc/PrivateOrdersV3Api_pb2.py +37 -0
  390. ccxt/protobuf/mexc/PublicAggreBookTickerV3Api_pb2.py +37 -0
  391. ccxt/protobuf/mexc/PublicAggreDealsV3Api_pb2.py +39 -0
  392. ccxt/protobuf/mexc/PublicAggreDepthsV3Api_pb2.py +39 -0
  393. ccxt/protobuf/mexc/PublicBookTickerBatchV3Api_pb2.py +38 -0
  394. ccxt/protobuf/mexc/PublicBookTickerV3Api_pb2.py +37 -0
  395. ccxt/protobuf/mexc/PublicDealsV3Api_pb2.py +39 -0
  396. ccxt/protobuf/mexc/PublicIncreaseDepthsBatchV3Api_pb2.py +38 -0
  397. ccxt/protobuf/mexc/PublicIncreaseDepthsV3Api_pb2.py +39 -0
  398. ccxt/protobuf/mexc/PublicLimitDepthsV3Api_pb2.py +39 -0
  399. ccxt/protobuf/mexc/PublicMiniTickerV3Api_pb2.py +37 -0
  400. ccxt/protobuf/mexc/PublicMiniTickersV3Api_pb2.py +38 -0
  401. ccxt/protobuf/mexc/PublicSpotKlineV3Api_pb2.py +37 -0
  402. ccxt/protobuf/mexc/PushDataV3ApiWrapper_pb2.py +52 -0
  403. ccxt/protobuf/mexc/__init__.py +0 -0
  404. ccxt/ramzinex.py +28 -25
  405. ccxt/sarmayex.py +7 -7
  406. ccxt/sarrafex.py +10 -10
  407. ccxt/static_dependencies/__init__.py +1 -1
  408. ccxt/static_dependencies/lark/py.typed +0 -0
  409. ccxt/static_dependencies/marshmallow/py.typed +0 -0
  410. ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  411. ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  412. ccxt/tabdeal.py +12 -11
  413. ccxt/test/tests_async.py +261 -57
  414. ccxt/test/tests_helpers.py +1 -3
  415. ccxt/test/tests_init.py +4 -3
  416. ccxt/test/tests_sync.py +261 -57
  417. ccxt/tetherland.py +7 -7
  418. ccxt/timex.py +210 -51
  419. ccxt/tokocrypto.py +167 -47
  420. ccxt/tradeogre.py +266 -31
  421. ccxt/twox.py +7 -7
  422. ccxt/ubitex.py +9 -9
  423. ccxt/upbit.py +568 -165
  424. ccxt/vertex.py +160 -32
  425. ccxt/wallex.py +9 -9
  426. ccxt/wavesexchange.py +165 -30
  427. ccxt/whitebit.py +975 -127
  428. ccxt/woo.py +1917 -1016
  429. ccxt/woofipro.py +432 -141
  430. ccxt/xt.py +649 -193
  431. ccxt/yobit.py +194 -70
  432. ccxt/zaif.py +91 -15
  433. ccxt/zonda.py +151 -36
  434. {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/METADATA +225 -73
  435. ccxt_ir-4.5.0.dist-info/RECORD +743 -0
  436. {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
  437. ccxt/abstract/ace.py +0 -15
  438. ccxt/abstract/bitbay.py +0 -53
  439. ccxt/abstract/bitcoincom.py +0 -115
  440. ccxt/abstract/bitfinex2.py +0 -139
  441. ccxt/abstract/bitpanda.py +0 -35
  442. ccxt/abstract/bl3p.py +0 -19
  443. ccxt/abstract/coinlist.py +0 -54
  444. ccxt/abstract/currencycom.py +0 -68
  445. ccxt/abstract/hitbtc3.py +0 -115
  446. ccxt/abstract/idex.py +0 -26
  447. ccxt/abstract/kuna.py +0 -182
  448. ccxt/abstract/lykke.py +0 -29
  449. ccxt/abstract/poloniexfutures.py +0 -48
  450. ccxt/abstract/wazirx.py +0 -30
  451. ccxt/ace.py +0 -1012
  452. ccxt/async_support/ace.py +0 -1012
  453. ccxt/async_support/base/ws/aiohttp_client.py +0 -125
  454. ccxt/async_support/base/ws/fast_client.py +0 -96
  455. ccxt/async_support/bitbay.py +0 -17
  456. ccxt/async_support/bitcoincom.py +0 -17
  457. ccxt/async_support/bitfinex2.py +0 -3552
  458. ccxt/async_support/bitpanda.py +0 -16
  459. ccxt/async_support/bl3p.py +0 -485
  460. ccxt/async_support/coinlist.py +0 -2243
  461. ccxt/async_support/currencycom.py +0 -1950
  462. ccxt/async_support/hitbtc3.py +0 -16
  463. ccxt/async_support/idex.py +0 -1766
  464. ccxt/async_support/kuna.py +0 -1841
  465. ccxt/async_support/lykke.py +0 -1270
  466. ccxt/async_support/poloniexfutures.py +0 -1717
  467. ccxt/async_support/wazirx.py +0 -1224
  468. ccxt/bitbay.py +0 -17
  469. ccxt/bitcoincom.py +0 -17
  470. ccxt/bitfinex2.py +0 -3552
  471. ccxt/bitpanda.py +0 -16
  472. ccxt/bl3p.py +0 -485
  473. ccxt/coinlist.py +0 -2243
  474. ccxt/currencycom.py +0 -1950
  475. ccxt/hitbtc3.py +0 -16
  476. ccxt/idex.py +0 -1766
  477. ccxt/kuna.py +0 -1841
  478. ccxt/lykke.py +0 -1270
  479. ccxt/poloniexfutures.py +0 -1717
  480. ccxt/pro/bitcoincom.py +0 -34
  481. ccxt/pro/bitfinex2.py +0 -1083
  482. ccxt/pro/bitpanda.py +0 -15
  483. ccxt/pro/currencycom.py +0 -536
  484. ccxt/pro/idex.py +0 -672
  485. ccxt/pro/poloniexfutures.py +0 -990
  486. ccxt/pro/wazirx.py +0 -749
  487. ccxt/test/base/__init__.py +0 -29
  488. ccxt/test/base/test_account.py +0 -26
  489. ccxt/test/base/test_balance.py +0 -56
  490. ccxt/test/base/test_borrow_interest.py +0 -35
  491. ccxt/test/base/test_borrow_rate.py +0 -32
  492. ccxt/test/base/test_calculate_fee.py +0 -51
  493. ccxt/test/base/test_crypto.py +0 -127
  494. ccxt/test/base/test_currency.py +0 -76
  495. ccxt/test/base/test_datetime.py +0 -109
  496. ccxt/test/base/test_decimal_to_precision.py +0 -392
  497. ccxt/test/base/test_deep_extend.py +0 -68
  498. ccxt/test/base/test_deposit_withdrawal.py +0 -50
  499. ccxt/test/base/test_exchange_datetime_functions.py +0 -76
  500. ccxt/test/base/test_funding_rate_history.py +0 -29
  501. ccxt/test/base/test_last_price.py +0 -31
  502. ccxt/test/base/test_ledger_entry.py +0 -45
  503. ccxt/test/base/test_ledger_item.py +0 -48
  504. ccxt/test/base/test_leverage_tier.py +0 -33
  505. ccxt/test/base/test_liquidation.py +0 -50
  506. ccxt/test/base/test_margin_mode.py +0 -24
  507. ccxt/test/base/test_margin_modification.py +0 -35
  508. ccxt/test/base/test_market.py +0 -193
  509. ccxt/test/base/test_number.py +0 -411
  510. ccxt/test/base/test_ohlcv.py +0 -33
  511. ccxt/test/base/test_open_interest.py +0 -32
  512. ccxt/test/base/test_order.py +0 -64
  513. ccxt/test/base/test_order_book.py +0 -69
  514. ccxt/test/base/test_position.py +0 -60
  515. ccxt/test/base/test_shared_methods.py +0 -353
  516. ccxt/test/base/test_status.py +0 -24
  517. ccxt/test/base/test_throttle.py +0 -126
  518. ccxt/test/base/test_ticker.py +0 -92
  519. ccxt/test/base/test_trade.py +0 -47
  520. ccxt/test/base/test_trading_fee.py +0 -26
  521. ccxt/test/base/test_transaction.py +0 -39
  522. ccxt/test/test_async.py +0 -1649
  523. ccxt/test/test_sync.py +0 -1648
  524. ccxt/wazirx.py +0 -1224
  525. ccxt_ir-4.3.46.0.2.dist-info/RECORD +0 -772
  526. /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
  527. {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
  528. {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/top_level.txt +0 -0
ccxt/gateio.py CHANGED
@@ -5,11 +5,12 @@
5
5
 
6
6
  from ccxt.gate import gate
7
7
  from ccxt.abstract.gateio import ImplicitAPI
8
+ from ccxt.base.types import Any
8
9
 
9
10
 
10
11
  class gateio(gate, ImplicitAPI):
11
12
 
12
- def describe(self):
13
+ def describe(self) -> Any:
13
14
  return self.deep_extend(super(gateio, self).describe(), {
14
15
  'id': 'gateio',
15
16
  'alias': True,
ccxt/gemini.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.gemini import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction
9
+ from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import AuthenticationError
@@ -27,7 +27,7 @@ from ccxt.base.precise import Precise
27
27
 
28
28
  class gemini(Exchange, ImplicitAPI):
29
29
 
30
- def describe(self):
30
+ def describe(self) -> Any:
31
31
  return self.deep_extend(super(gemini, self).describe(), {
32
32
  'id': 'gemini',
33
33
  'name': 'Gemini',
@@ -61,6 +61,7 @@ class gemini(Exchange, ImplicitAPI):
61
61
  'fetchCrossBorrowRates': False,
62
62
  'fetchCurrencies': True,
63
63
  'fetchDepositAddress': True,
64
+ 'fetchDepositAddresses': False,
64
65
  'fetchDepositAddressesByNetwork': True,
65
66
  'fetchDepositsWithdrawals': True,
66
67
  'fetchFundingHistory': False,
@@ -199,6 +200,7 @@ class gemini(Exchange, ImplicitAPI):
199
200
  'v1/account/create': 1,
200
201
  'v1/account/list': 1,
201
202
  'v1/heartbeat': 1,
203
+ 'v1/roles': 1,
202
204
  },
203
205
  },
204
206
  },
@@ -273,7 +275,7 @@ class gemini(Exchange, ImplicitAPI):
273
275
  'fetchMarketFromWebRetries': 10,
274
276
  'fetchMarketsFromAPI': {
275
277
  'fetchDetailsForAllSymbols': False,
276
- 'quoteCurrencies': ['USDT', 'GUSD', 'USD', 'DAI', 'EUR', 'GBP', 'SGD', 'BTC', 'ETH', 'LTC', 'BCH'],
278
+ 'quoteCurrencies': ['USDT', 'GUSD', 'USD', 'DAI', 'EUR', 'GBP', 'SGD', 'BTC', 'ETH', 'LTC', 'BCH', 'SOL'],
277
279
  },
278
280
  'fetchMarkets': {
279
281
  'webApiEnable': True, # fetches from WEB
@@ -308,6 +310,72 @@ class gemini(Exchange, ImplicitAPI):
308
310
  },
309
311
  },
310
312
  },
313
+ 'features': {
314
+ 'default': {
315
+ 'sandbox': True,
316
+ 'createOrder': {
317
+ 'marginMode': False,
318
+ 'triggerPrice': True,
319
+ 'triggerPriceType': None,
320
+ 'triggerDirection': False,
321
+ 'stopLossPrice': False, # todo
322
+ 'takeProfitPrice': False, # todo
323
+ 'attachedStopLossTakeProfit': None,
324
+ 'timeInForce': {
325
+ 'IOC': True,
326
+ 'FOK': True,
327
+ 'PO': True,
328
+ 'GTD': False,
329
+ },
330
+ 'hedged': False,
331
+ 'trailing': False,
332
+ 'leverage': False,
333
+ 'marketBuyByCost': True,
334
+ 'marketBuyRequiresPrice': False,
335
+ 'selfTradePrevention': False,
336
+ 'iceberg': False,
337
+ },
338
+ 'createOrders': None,
339
+ 'fetchMyTrades': {
340
+ 'marginMode': False,
341
+ 'limit': 500,
342
+ 'daysBack': None,
343
+ 'untilDays': None,
344
+ 'symbolRequired': True,
345
+ },
346
+ 'fetchOrder': {
347
+ 'marginMode': False,
348
+ 'trigger': False,
349
+ 'trailing': False,
350
+ 'symbolRequired': False,
351
+ },
352
+ 'fetchOpenOrders': {
353
+ 'marginMode': False,
354
+ 'limit': None,
355
+ 'trigger': False,
356
+ 'trailing': False,
357
+ 'symbolRequired': False,
358
+ },
359
+ 'fetchOrders': None,
360
+ 'fetchClosedOrders': None, # todo: implement
361
+ 'fetchOHLCV': {
362
+ 'limit': None,
363
+ },
364
+ },
365
+ 'spot': {
366
+ 'extends': 'default',
367
+ },
368
+ 'swap': {
369
+ 'linear': {
370
+ 'extends': 'default',
371
+ },
372
+ 'inverse': None,
373
+ },
374
+ 'future': {
375
+ 'linear': None,
376
+ 'inverse': None,
377
+ },
378
+ },
311
379
  })
312
380
 
313
381
  def fetch_currencies(self, params={}) -> Currencies:
@@ -320,7 +388,7 @@ class gemini(Exchange, ImplicitAPI):
320
388
 
321
389
  def fetch_currencies_from_web(self, params={}):
322
390
  """
323
- * @ignore
391
+ @ignore
324
392
  fetches all available currencies on an exchange
325
393
  :param dict [params]: extra parameters specific to the endpoint
326
394
  :returns dict: an associative dictionary of currencies
@@ -362,7 +430,6 @@ class gemini(Exchange, ImplicitAPI):
362
430
  networkCode = None
363
431
  if networkId is not None:
364
432
  networkCode = self.network_id_to_code(networkId)
365
- if networkCode is not None:
366
433
  networks[networkCode] = {
367
434
  'info': currency,
368
435
  'id': networkId,
@@ -383,7 +450,7 @@ class gemini(Exchange, ImplicitAPI):
383
450
  },
384
451
  },
385
452
  }
386
- result[code] = {
453
+ result[code] = self.safe_currency_structure({
387
454
  'info': currency,
388
455
  'id': id,
389
456
  'code': code,
@@ -405,13 +472,15 @@ class gemini(Exchange, ImplicitAPI):
405
472
  },
406
473
  },
407
474
  'networks': networks,
408
- }
475
+ })
409
476
  return result
410
477
 
411
478
  def fetch_markets(self, params={}) -> List[Market]:
412
479
  """
413
480
  retrieves data on all markets for gemini
414
- :see: https://docs.gemini.com/rest-api/#symbols
481
+
482
+ https://docs.gemini.com/rest-api/#symbols
483
+
415
484
  :param dict [params]: extra parameters specific to the exchange API endpoint
416
485
  :returns dict[]: an array of objects representing market data
417
486
  """
@@ -751,7 +820,9 @@ class gemini(Exchange, ImplicitAPI):
751
820
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
752
821
  """
753
822
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
754
- :see: https://docs.gemini.com/rest-api/#current-order-book
823
+
824
+ https://docs.gemini.com/rest-api/#current-order-book
825
+
755
826
  :param str symbol: unified symbol of the market to fetch the order book for
756
827
  :param int [limit]: the maximum amount of order book entries to return
757
828
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -812,8 +883,9 @@ class gemini(Exchange, ImplicitAPI):
812
883
  return self.parse_ticker(response, market)
813
884
 
814
885
  def fetch_ticker_v1_and_v2(self, symbol: str, params={}):
815
- tickerA = self.fetch_ticker_v1(symbol, params)
816
- tickerB = self.fetch_ticker_v2(symbol, params)
886
+ tickerPromiseA = self.fetch_ticker_v1(symbol, params)
887
+ tickerPromiseB = self.fetch_ticker_v2(symbol, params)
888
+ tickerA, tickerB = [tickerPromiseA, tickerPromiseB]
817
889
  return self.deep_extend(tickerA, {
818
890
  'open': tickerB['open'],
819
891
  'high': tickerB['high'],
@@ -827,8 +899,10 @@ class gemini(Exchange, ImplicitAPI):
827
899
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
828
900
  """
829
901
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
830
- :see: https://docs.gemini.com/rest-api/#ticker
831
- :see: https://docs.gemini.com/rest-api/#ticker-v2
902
+
903
+ https://docs.gemini.com/rest-api/#ticker
904
+ https://docs.gemini.com/rest-api/#ticker-v2
905
+
832
906
  :param str symbol: unified symbol of the market to fetch the ticker for
833
907
  :param dict [params]: extra parameters specific to the exchange API endpoint
834
908
  :param dict [params.fetchTickerMethod]: 'fetchTickerV2', 'fetchTickerV1' or 'fetchTickerV1AndV2' - 'fetchTickerV1' for original ccxt.gemini.fetchTicker - 'fetchTickerV1AndV2' for 2 api calls to get the result of both fetchTicker methods - default = 'fetchTickerV1'
@@ -934,7 +1008,9 @@ class gemini(Exchange, ImplicitAPI):
934
1008
  def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
935
1009
  """
936
1010
  fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
937
- :see: https://docs.gemini.com/rest-api/#price-feed
1011
+
1012
+ https://docs.gemini.com/rest-api/#price-feed
1013
+
938
1014
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
939
1015
  :param dict [params]: extra parameters specific to the exchange API endpoint
940
1016
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -1023,7 +1099,9 @@ class gemini(Exchange, ImplicitAPI):
1023
1099
  def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
1024
1100
  """
1025
1101
  get the list of most recent trades for a particular symbol
1026
- :see: https://docs.gemini.com/rest-api/#trade-history
1102
+
1103
+ https://docs.gemini.com/rest-api/#trade-history
1104
+
1027
1105
  :param str symbol: unified symbol of the market to fetch trades for
1028
1106
  :param int [since]: timestamp in ms of the earliest trade to fetch
1029
1107
  :param int [limit]: the maximum amount of trades to fetch
@@ -1070,7 +1148,9 @@ class gemini(Exchange, ImplicitAPI):
1070
1148
  def fetch_trading_fees(self, params={}) -> TradingFees:
1071
1149
  """
1072
1150
  fetch the trading fees for multiple markets
1073
- :see: https://docs.gemini.com/rest-api/#get-notional-volume
1151
+
1152
+ https://docs.gemini.com/rest-api/#get-notional-volume
1153
+
1074
1154
  :param dict [params]: extra parameters specific to the exchange API endpoint
1075
1155
  :returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
1076
1156
  """
@@ -1126,7 +1206,9 @@ class gemini(Exchange, ImplicitAPI):
1126
1206
  def fetch_balance(self, params={}) -> Balances:
1127
1207
  """
1128
1208
  query for balance and get the amount of funds available for trading or funds locked in orders
1129
- :see: https://docs.gemini.com/rest-api/#get-available-balances
1209
+
1210
+ https://docs.gemini.com/rest-api/#get-available-balances
1211
+
1130
1212
  :param dict [params]: extra parameters specific to the exchange API endpoint
1131
1213
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
1132
1214
  """
@@ -1283,7 +1365,6 @@ class gemini(Exchange, ImplicitAPI):
1283
1365
  'postOnly': postOnly,
1284
1366
  'side': side,
1285
1367
  'price': price,
1286
- 'stopPrice': None,
1287
1368
  'triggerPrice': None,
1288
1369
  'average': average,
1289
1370
  'cost': None,
@@ -1297,7 +1378,10 @@ class gemini(Exchange, ImplicitAPI):
1297
1378
  def fetch_order(self, id: str, symbol: Str = None, params={}):
1298
1379
  """
1299
1380
  fetches information on an order made by the user
1300
- :see: https://docs.gemini.com/rest-api/#order-status
1381
+
1382
+ https://docs.gemini.com/rest-api/#order-status
1383
+
1384
+ :param str id: order id
1301
1385
  :param str symbol: unified symbol of the market the order was made in
1302
1386
  :param dict [params]: extra parameters specific to the exchange API endpoint
1303
1387
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1335,7 +1419,9 @@ class gemini(Exchange, ImplicitAPI):
1335
1419
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1336
1420
  """
1337
1421
  fetch all unfilled currently open orders
1338
- :see: https://docs.gemini.com/rest-api/#get-active-orders
1422
+
1423
+ https://docs.gemini.com/rest-api/#get-active-orders
1424
+
1339
1425
  :param str symbol: unified market symbol
1340
1426
  :param int [since]: the earliest time in ms to fetch open orders for
1341
1427
  :param int [limit]: the maximum number of open orders structures to retrieve
@@ -1377,12 +1463,14 @@ class gemini(Exchange, ImplicitAPI):
1377
1463
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
1378
1464
  """
1379
1465
  create a trade order
1380
- :see: https://docs.gemini.com/rest-api/#new-order
1466
+
1467
+ https://docs.gemini.com/rest-api/#new-order
1468
+
1381
1469
  :param str symbol: unified symbol of the market to create an order in
1382
1470
  :param str type: must be 'limit'
1383
1471
  :param str side: 'buy' or 'sell'
1384
1472
  :param float amount: how much of currency you want to trade in units of base currency
1385
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1473
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1386
1474
  :param dict [params]: extra parameters specific to the exchange API endpoint
1387
1475
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1388
1476
  """
@@ -1407,12 +1495,12 @@ class gemini(Exchange, ImplicitAPI):
1407
1495
  }
1408
1496
  type = self.safe_string(params, 'type', type)
1409
1497
  params = self.omit(params, 'type')
1410
- rawStopPrice = self.safe_string_2(params, 'stop_price', 'stopPrice')
1411
- params = self.omit(params, ['stop_price', 'stopPrice', 'type'])
1498
+ triggerPrice = self.safe_string_n(params, ['triggerPrice', 'stop_price', 'stopPrice'])
1499
+ params = self.omit(params, ['triggerPrice', 'stop_price', 'stopPrice', 'type'])
1412
1500
  if type == 'stopLimit':
1413
- raise ArgumentsRequired(self.id + ' createOrder() requires a stopPrice parameter or a stop_price parameter for ' + type + ' orders')
1414
- if rawStopPrice is not None:
1415
- request['stop_price'] = self.price_to_precision(symbol, rawStopPrice)
1501
+ raise ArgumentsRequired(self.id + ' createOrder() requires a triggerPrice parameter or a stop_price parameter for ' + type + ' orders')
1502
+ if triggerPrice is not None:
1503
+ request['stop_price'] = self.price_to_precision(symbol, triggerPrice)
1416
1504
  request['type'] = 'exchange stop limit'
1417
1505
  else:
1418
1506
  # No options can be applied to stop-limit orders at self time.
@@ -1462,7 +1550,9 @@ class gemini(Exchange, ImplicitAPI):
1462
1550
  def cancel_order(self, id: str, symbol: Str = None, params={}):
1463
1551
  """
1464
1552
  cancels an open order
1465
- :see: https://docs.gemini.com/rest-api/#cancel-order
1553
+
1554
+ https://docs.gemini.com/rest-api/#cancel-order
1555
+
1466
1556
  :param str id: order id
1467
1557
  :param str symbol: unified symbol of the market the order was made in
1468
1558
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1502,7 +1592,9 @@ class gemini(Exchange, ImplicitAPI):
1502
1592
  def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1503
1593
  """
1504
1594
  fetch all trades made by the user
1505
- :see: https://docs.gemini.com/rest-api/#get-past-trades
1595
+
1596
+ https://docs.gemini.com/rest-api/#get-past-trades
1597
+
1506
1598
  :param str symbol: unified market symbol
1507
1599
  :param int [since]: the earliest time in ms to fetch trades for
1508
1600
  :param int [limit]: the maximum number of trades structures to retrieve
@@ -1523,10 +1615,12 @@ class gemini(Exchange, ImplicitAPI):
1523
1615
  response = self.privatePostV1Mytrades(self.extend(request, params))
1524
1616
  return self.parse_trades(response, market, since, limit)
1525
1617
 
1526
- def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
1618
+ def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
1527
1619
  """
1528
1620
  make a withdrawal
1529
- :see: https://docs.gemini.com/rest-api/#withdraw-crypto-funds
1621
+
1622
+ https://docs.gemini.com/rest-api/#withdraw-crypto-funds
1623
+
1530
1624
  :param str code: unified currency code
1531
1625
  :param float amount: the amount to withdraw
1532
1626
  :param str address: the address to withdraw to
@@ -1581,7 +1675,9 @@ class gemini(Exchange, ImplicitAPI):
1581
1675
  def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1582
1676
  """
1583
1677
  fetch history of deposits and withdrawals
1584
- :see: https://docs.gemini.com/rest-api/#transfers
1678
+
1679
+ https://docs.gemini.com/rest-api/#transfers
1680
+
1585
1681
  :param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
1586
1682
  :param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
1587
1683
  :param int [limit]: max number of deposit/withdrawals to return, default is None
@@ -1678,9 +1774,11 @@ class gemini(Exchange, ImplicitAPI):
1678
1774
  'info': depositAddress,
1679
1775
  }
1680
1776
 
1681
- def fetch_deposit_address(self, code: str, params={}):
1777
+ def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
1682
1778
  """
1683
- :see: https://docs.gemini.com/rest-api/#get-deposit-addresses
1779
+
1780
+ https://docs.gemini.com/rest-api/#get-deposit-addresses
1781
+
1684
1782
  fetch the deposit address for a currency associated with self account
1685
1783
  :param str code: unified currency code
1686
1784
  :param dict [params]: extra parameters specific to the endpoint
@@ -1694,10 +1792,12 @@ class gemini(Exchange, ImplicitAPI):
1694
1792
  networkGroup = self.index_by(self.safe_value(groupedByNetwork, networkCode), 'currency')
1695
1793
  return self.safe_value(networkGroup, code)
1696
1794
 
1697
- def fetch_deposit_addresses_by_network(self, code: str, params={}):
1795
+ def fetch_deposit_addresses_by_network(self, code: str, params={}) -> List[DepositAddress]:
1698
1796
  """
1699
1797
  fetch a dictionary of addresses for a currency, indexed by network
1700
- :see: https://docs.gemini.com/rest-api/#get-deposit-addresses
1798
+
1799
+ https://docs.gemini.com/rest-api/#get-deposit-addresses
1800
+
1701
1801
  :param str code: unified currency code of the currency for the deposit address
1702
1802
  :param dict [params]: extra parameters specific to the exchange API endpoint
1703
1803
  :param str [params.network]: *required* The chain of currency
@@ -1772,10 +1872,12 @@ class gemini(Exchange, ImplicitAPI):
1772
1872
  raise ExchangeError(feedback) # unknown message
1773
1873
  return None
1774
1874
 
1775
- def create_deposit_address(self, code: str, params={}):
1875
+ def create_deposit_address(self, code: str, params={}) -> DepositAddress:
1776
1876
  """
1777
1877
  create a currency deposit address
1778
- :see: https://docs.gemini.com/rest-api/#new-deposit-address
1878
+
1879
+ https://docs.gemini.com/rest-api/#new-deposit-address
1880
+
1779
1881
  :param str code: unified currency code of the currency for the deposit address
1780
1882
  :param dict [params]: extra parameters specific to the exchange API endpoint
1781
1883
  :returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
@@ -1792,13 +1894,16 @@ class gemini(Exchange, ImplicitAPI):
1792
1894
  'currency': code,
1793
1895
  'address': address,
1794
1896
  'tag': None,
1897
+ 'network': None,
1795
1898
  'info': response,
1796
1899
  }
1797
1900
 
1798
1901
  def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1799
1902
  """
1800
1903
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1801
- :see: https://docs.gemini.com/rest-api/#candles
1904
+
1905
+ https://docs.gemini.com/rest-api/#candles
1906
+
1802
1907
  :param str symbol: unified symbol of the market to fetch OHLCV data for
1803
1908
  :param str timeframe: the length of time each candle represents
1804
1909
  :param int [since]: timestamp in ms of the earliest candle to fetch