ccxt-ir 4.3.46.0.3__py2.py3-none-any.whl → 4.5.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +39 -35
- ccxt/abantether.py +8 -8
- ccxt/abstract/alpaca.py +4 -0
- ccxt/abstract/apex.py +31 -0
- ccxt/abstract/bigone.py +1 -1
- ccxt/abstract/binance.py +106 -48
- ccxt/abstract/binancecoinm.py +106 -48
- ccxt/abstract/binanceus.py +141 -83
- ccxt/abstract/binanceusdm.py +106 -48
- ccxt/abstract/bingx.py +50 -1
- ccxt/abstract/bitbank.py +5 -0
- ccxt/abstract/bitfinex.py +136 -65
- ccxt/abstract/bitflyer.py +1 -0
- ccxt/abstract/bitget.py +67 -0
- ccxt/abstract/bitmart.py +19 -1
- ccxt/abstract/bitopro.py +1 -0
- ccxt/abstract/bitrue.py +68 -68
- ccxt/abstract/bitstamp.py +1 -0
- ccxt/abstract/blofin.py +30 -0
- ccxt/abstract/btcbox.py +2 -0
- ccxt/abstract/bybit.py +28 -13
- ccxt/abstract/cex.py +28 -29
- ccxt/abstract/coinbaseexchange.py +1 -0
- ccxt/abstract/coinbaseinternational.py +1 -1
- ccxt/abstract/cryptocom.py +16 -0
- ccxt/abstract/cryptomus.py +20 -0
- ccxt/abstract/defx.py +69 -0
- ccxt/abstract/deribit.py +1 -0
- ccxt/abstract/derive.py +117 -0
- ccxt/abstract/digifinex.py +1 -0
- ccxt/abstract/ellipx.py +25 -0
- ccxt/abstract/foxbit.py +26 -0
- ccxt/abstract/gate.py +19 -0
- ccxt/abstract/gateio.py +19 -0
- ccxt/abstract/gemini.py +1 -0
- ccxt/abstract/hibachi.py +26 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/independentreserve.py +6 -0
- ccxt/abstract/kraken.py +1 -0
- ccxt/abstract/krakenfutures.py +4 -0
- ccxt/abstract/kucoin.py +10 -0
- ccxt/abstract/kucoinfutures.py +18 -0
- ccxt/abstract/lbank.py +2 -1
- ccxt/abstract/luno.py +1 -0
- ccxt/abstract/mexc.py +2 -0
- ccxt/abstract/modetrade.py +119 -0
- ccxt/abstract/myokx.py +349 -0
- ccxt/abstract/oceanex.py +5 -0
- ccxt/abstract/okx.py +25 -0
- ccxt/abstract/okxus.py +349 -0
- ccxt/abstract/onetrading.py +0 -12
- ccxt/abstract/paradex.py +23 -0
- ccxt/abstract/phemex.py +2 -0
- ccxt/abstract/poloniex.py +36 -0
- ccxt/abstract/tradeogre.py +3 -1
- ccxt/abstract/upbit.py +51 -34
- ccxt/abstract/whitebit.py +16 -0
- ccxt/abstract/woo.py +64 -6
- ccxt/abstract/xt.py +10 -5
- ccxt/afratether.py +7 -7
- ccxt/alpaca.py +828 -51
- ccxt/apex.py +1875 -0
- ccxt/arzinja.py +7 -7
- ccxt/arzplus.py +9 -9
- ccxt/ascendex.py +501 -306
- ccxt/async_support/__init__.py +39 -35
- ccxt/async_support/abantether.py +8 -8
- ccxt/async_support/afratether.py +9 -9
- ccxt/async_support/alpaca.py +828 -51
- ccxt/async_support/apex.py +1875 -0
- ccxt/async_support/arzinja.py +10 -10
- ccxt/async_support/arzplus.py +12 -12
- ccxt/async_support/ascendex.py +502 -306
- ccxt/async_support/base/exchange.py +303 -89
- ccxt/async_support/base/ws/cache.py +9 -3
- ccxt/async_support/base/ws/client.py +173 -38
- ccxt/async_support/base/ws/future.py +25 -37
- ccxt/async_support/bequant.py +5 -3
- ccxt/async_support/bigone.py +279 -144
- ccxt/async_support/binance.py +2347 -1158
- ccxt/async_support/binancecoinm.py +9 -3
- ccxt/async_support/binanceus.py +17 -3
- ccxt/async_support/binanceusdm.py +9 -4
- ccxt/async_support/bingx.py +2962 -920
- ccxt/async_support/bit2c.py +147 -27
- ccxt/async_support/bitbank.py +151 -23
- ccxt/async_support/bitbns.py +104 -30
- ccxt/async_support/bitfinex.py +3291 -1113
- ccxt/async_support/bitflyer.py +202 -27
- ccxt/async_support/bitget.py +3683 -1538
- ccxt/async_support/bithumb.py +195 -38
- ccxt/async_support/bitimen.py +12 -12
- ccxt/async_support/bitir.py +38 -38
- ccxt/async_support/bitmart.py +1288 -350
- ccxt/async_support/bitmex.py +260 -75
- ccxt/async_support/bitopro.py +262 -62
- ccxt/async_support/bitpin.py +17 -16
- ccxt/async_support/bitrue.py +459 -290
- ccxt/async_support/bitso.py +199 -54
- ccxt/async_support/bitstamp.py +230 -96
- ccxt/async_support/bitteam.py +167 -25
- ccxt/async_support/{huobijp.py → bittrade.py} +158 -30
- ccxt/async_support/bitvavo.py +213 -49
- ccxt/async_support/blockchaincom.py +160 -46
- ccxt/async_support/blofin.py +502 -120
- ccxt/async_support/btcalpha.py +169 -31
- ccxt/async_support/btcbox.py +292 -23
- ccxt/async_support/btcmarkets.py +211 -58
- ccxt/async_support/btcturk.py +161 -38
- ccxt/async_support/bybit.py +1775 -1030
- ccxt/async_support/cex.py +1440 -1303
- ccxt/async_support/coinbase.py +724 -212
- ccxt/async_support/coinbaseadvanced.py +2 -1
- ccxt/async_support/coinbaseexchange.py +388 -89
- ccxt/async_support/coinbaseinternational.py +412 -57
- ccxt/async_support/coincatch.py +177 -78
- ccxt/async_support/coincheck.py +135 -19
- ccxt/async_support/coinex.py +606 -232
- ccxt/async_support/coinmate.py +189 -63
- ccxt/async_support/coinmetro.py +195 -54
- ccxt/async_support/coinone.py +158 -51
- ccxt/async_support/coinsph.py +336 -61
- ccxt/async_support/coinspot.py +151 -52
- ccxt/async_support/cryptocom.py +661 -111
- ccxt/async_support/cryptomus.py +1137 -0
- ccxt/async_support/defx.py +2071 -0
- ccxt/async_support/delta.py +299 -99
- ccxt/async_support/deribit.py +348 -126
- ccxt/async_support/derive.py +2572 -0
- ccxt/async_support/digifinex.py +430 -214
- ccxt/async_support/ellipx.py +2029 -0
- ccxt/async_support/eterex.py +10 -10
- ccxt/async_support/excoino.py +31 -31
- ccxt/async_support/exir.py +14 -14
- ccxt/async_support/exmo.py +344 -131
- ccxt/async_support/exnovin.py +10 -10
- ccxt/async_support/farhadexchange.py +12 -12
- ccxt/async_support/fmfwio.py +2 -1
- ccxt/async_support/foxbit.py +1935 -0
- ccxt/async_support/gate.py +1351 -529
- ccxt/async_support/gateio.py +2 -1
- ccxt/async_support/gemini.py +144 -39
- ccxt/async_support/hashkey.py +152 -109
- ccxt/async_support/hibachi.py +2080 -0
- ccxt/async_support/hitbtc.py +395 -167
- ccxt/async_support/hitobit.py +12 -12
- ccxt/async_support/hollaex.py +307 -119
- ccxt/async_support/htx.py +851 -383
- ccxt/async_support/huobi.py +2 -1
- ccxt/async_support/hyperliquid.py +1848 -536
- ccxt/async_support/independentreserve.py +288 -15
- ccxt/async_support/indodax.py +190 -33
- ccxt/async_support/jibitex.py +12 -12
- ccxt/async_support/kraken.py +795 -351
- ccxt/async_support/krakenfutures.py +214 -62
- ccxt/async_support/kucoin.py +715 -396
- ccxt/async_support/kucoinfutures.py +652 -89
- ccxt/async_support/latoken.py +217 -113
- ccxt/async_support/lbank.py +425 -97
- ccxt/async_support/luno.py +382 -35
- ccxt/async_support/mercado.py +113 -6
- ccxt/async_support/mexc.py +874 -437
- ccxt/async_support/modetrade.py +2818 -0
- ccxt/async_support/myokx.py +54 -0
- ccxt/async_support/ndax.py +221 -64
- ccxt/async_support/nobitex.py +31 -37
- ccxt/async_support/novadax.py +190 -34
- ccxt/async_support/oceanex.py +217 -28
- ccxt/async_support/okcoin.py +253 -145
- ccxt/async_support/okexchange.py +11 -11
- ccxt/async_support/okx.py +1088 -351
- ccxt/async_support/okxus.py +54 -0
- ccxt/async_support/ompfinex.py +25 -24
- ccxt/async_support/onetrading.py +213 -392
- ccxt/async_support/oxfun.py +245 -166
- ccxt/async_support/p2b.py +151 -29
- ccxt/async_support/paradex.py +562 -49
- ccxt/async_support/paymium.py +82 -19
- ccxt/async_support/phemex.py +713 -172
- ccxt/async_support/poloniex.py +1602 -283
- ccxt/async_support/probit.py +224 -95
- ccxt/async_support/ramzinex.py +30 -27
- ccxt/async_support/sarmayex.py +9 -9
- ccxt/async_support/sarrafex.py +13 -13
- ccxt/async_support/tabdeal.py +14 -13
- ccxt/async_support/tetherland.py +9 -9
- ccxt/async_support/timex.py +210 -51
- ccxt/async_support/tokocrypto.py +167 -47
- ccxt/async_support/tradeogre.py +266 -31
- ccxt/async_support/twox.py +9 -9
- ccxt/async_support/ubitex.py +12 -12
- ccxt/async_support/upbit.py +568 -165
- ccxt/async_support/vertex.py +160 -32
- ccxt/async_support/wallex.py +12 -12
- ccxt/async_support/wavesexchange.py +165 -30
- ccxt/async_support/whitebit.py +975 -127
- ccxt/async_support/woo.py +1918 -1016
- ccxt/async_support/woofipro.py +433 -141
- ccxt/async_support/xt.py +649 -193
- ccxt/async_support/yobit.py +195 -70
- ccxt/async_support/zaif.py +91 -15
- ccxt/async_support/zonda.py +151 -36
- ccxt/base/decimal_to_precision.py +14 -10
- ccxt/base/errors.py +49 -18
- ccxt/base/exchange.py +1556 -450
- ccxt/base/precise.py +10 -0
- ccxt/base/types.py +114 -6
- ccxt/bequant.py +5 -3
- ccxt/bigone.py +279 -144
- ccxt/binance.py +2347 -1158
- ccxt/binancecoinm.py +9 -3
- ccxt/binanceus.py +17 -3
- ccxt/binanceusdm.py +9 -4
- ccxt/bingx.py +2962 -920
- ccxt/bit2c.py +147 -27
- ccxt/bitbank.py +151 -23
- ccxt/bitbns.py +104 -30
- ccxt/bitfinex.py +3290 -1113
- ccxt/bitflyer.py +202 -27
- ccxt/bitget.py +3683 -1538
- ccxt/bithumb.py +194 -38
- ccxt/bitimen.py +9 -9
- ccxt/bitir.py +35 -35
- ccxt/bitmart.py +1288 -350
- ccxt/bitmex.py +260 -75
- ccxt/bitopro.py +262 -62
- ccxt/bitpin.py +15 -14
- ccxt/bitrue.py +459 -290
- ccxt/bitso.py +199 -54
- ccxt/bitstamp.py +230 -96
- ccxt/bitteam.py +167 -25
- ccxt/{huobijp.py → bittrade.py} +158 -30
- ccxt/bitvavo.py +213 -49
- ccxt/blockchaincom.py +160 -46
- ccxt/blofin.py +502 -120
- ccxt/btcalpha.py +169 -31
- ccxt/btcbox.py +291 -23
- ccxt/btcmarkets.py +211 -58
- ccxt/btcturk.py +161 -38
- ccxt/bybit.py +1775 -1030
- ccxt/cex.py +1439 -1303
- ccxt/coinbase.py +724 -212
- ccxt/coinbaseadvanced.py +2 -1
- ccxt/coinbaseexchange.py +388 -89
- ccxt/coinbaseinternational.py +412 -57
- ccxt/coincatch.py +177 -78
- ccxt/coincheck.py +135 -19
- ccxt/coinex.py +606 -232
- ccxt/coinmate.py +189 -63
- ccxt/coinmetro.py +194 -54
- ccxt/coinone.py +158 -51
- ccxt/coinsph.py +336 -61
- ccxt/coinspot.py +151 -52
- ccxt/cryptocom.py +661 -111
- ccxt/cryptomus.py +1137 -0
- ccxt/defx.py +2070 -0
- ccxt/delta.py +299 -99
- ccxt/deribit.py +348 -126
- ccxt/derive.py +2571 -0
- ccxt/digifinex.py +430 -214
- ccxt/ellipx.py +2029 -0
- ccxt/eterex.py +7 -7
- ccxt/excoino.py +29 -29
- ccxt/exir.py +11 -11
- ccxt/exmo.py +343 -131
- ccxt/exnovin.py +8 -8
- ccxt/farhadexchange.py +10 -10
- ccxt/fmfwio.py +2 -1
- ccxt/foxbit.py +1935 -0
- ccxt/gate.py +1351 -529
- ccxt/gateio.py +2 -1
- ccxt/gemini.py +144 -39
- ccxt/hashkey.py +152 -109
- ccxt/hibachi.py +2079 -0
- ccxt/hitbtc.py +395 -167
- ccxt/hitobit.py +9 -9
- ccxt/hollaex.py +307 -119
- ccxt/htx.py +851 -383
- ccxt/huobi.py +2 -1
- ccxt/hyperliquid.py +1848 -536
- ccxt/independentreserve.py +287 -15
- ccxt/indodax.py +190 -33
- ccxt/jibitex.py +9 -9
- ccxt/kraken.py +794 -351
- ccxt/krakenfutures.py +214 -62
- ccxt/kucoin.py +715 -396
- ccxt/kucoinfutures.py +652 -89
- ccxt/latoken.py +217 -113
- ccxt/lbank.py +425 -97
- ccxt/luno.py +382 -35
- ccxt/mercado.py +113 -6
- ccxt/mexc.py +873 -437
- ccxt/modetrade.py +2818 -0
- ccxt/myokx.py +54 -0
- ccxt/ndax.py +221 -64
- ccxt/nobitex.py +29 -35
- ccxt/novadax.py +190 -34
- ccxt/oceanex.py +217 -28
- ccxt/okcoin.py +253 -145
- ccxt/okexchange.py +9 -9
- ccxt/okx.py +1088 -351
- ccxt/okxus.py +54 -0
- ccxt/ompfinex.py +22 -21
- ccxt/onetrading.py +213 -392
- ccxt/oxfun.py +245 -166
- ccxt/p2b.py +151 -29
- ccxt/paradex.py +562 -49
- ccxt/paymium.py +82 -19
- ccxt/phemex.py +712 -172
- ccxt/poloniex.py +1601 -283
- ccxt/pro/__init__.py +76 -17
- ccxt/pro/alpaca.py +21 -6
- ccxt/pro/apex.py +984 -0
- ccxt/pro/ascendex.py +58 -10
- ccxt/pro/bequant.py +6 -1
- ccxt/pro/binance.py +728 -156
- ccxt/pro/binancecoinm.py +6 -2
- ccxt/pro/binanceus.py +8 -4
- ccxt/pro/binanceusdm.py +7 -2
- ccxt/pro/bingx.py +333 -142
- ccxt/pro/bitfinex.py +727 -262
- ccxt/pro/bitget.py +570 -79
- ccxt/pro/bithumb.py +20 -6
- ccxt/pro/bitmart.py +216 -87
- ccxt/pro/bitmex.py +47 -9
- ccxt/pro/bitopro.py +26 -14
- ccxt/pro/bitrue.py +22 -22
- ccxt/pro/bitstamp.py +54 -21
- ccxt/pro/{huobijp.py → bittrade.py} +7 -6
- ccxt/pro/bitvavo.py +191 -67
- ccxt/pro/blockchaincom.py +21 -8
- ccxt/pro/blofin.py +9 -1
- ccxt/pro/bybit.py +632 -245
- ccxt/pro/cex.py +59 -24
- ccxt/pro/coinbase.py +102 -73
- ccxt/pro/coinbaseadvanced.py +2 -1
- ccxt/pro/coinbaseexchange.py +8 -8
- ccxt/pro/coinbaseinternational.py +181 -25
- ccxt/pro/coincatch.py +6 -7
- ccxt/pro/coincheck.py +11 -6
- ccxt/pro/coinex.py +967 -665
- ccxt/pro/coinone.py +16 -9
- ccxt/pro/cryptocom.py +448 -45
- ccxt/pro/defx.py +831 -0
- ccxt/pro/deribit.py +150 -14
- ccxt/pro/derive.py +704 -0
- ccxt/pro/exmo.py +239 -6
- ccxt/pro/gate.py +623 -65
- ccxt/pro/gateio.py +2 -1
- ccxt/pro/gemini.py +27 -11
- ccxt/pro/hashkey.py +2 -2
- ccxt/pro/hitbtc.py +196 -91
- ccxt/pro/hollaex.py +23 -7
- ccxt/pro/htx.py +51 -14
- ccxt/pro/huobi.py +2 -1
- ccxt/pro/hyperliquid.py +591 -27
- ccxt/pro/independentreserve.py +9 -6
- ccxt/pro/kraken.py +640 -320
- ccxt/pro/krakenfutures.py +62 -35
- ccxt/pro/kucoin.py +267 -46
- ccxt/pro/kucoinfutures.py +165 -21
- ccxt/pro/lbank.py +102 -21
- ccxt/pro/luno.py +12 -8
- ccxt/pro/mexc.py +877 -111
- ccxt/pro/modetrade.py +1271 -0
- ccxt/pro/myokx.py +38 -0
- ccxt/pro/ndax.py +15 -2
- ccxt/pro/okcoin.py +23 -4
- ccxt/pro/okx.py +573 -98
- ccxt/pro/okxus.py +38 -0
- ccxt/pro/onetrading.py +30 -13
- ccxt/pro/oxfun.py +131 -27
- ccxt/pro/p2b.py +88 -22
- ccxt/pro/paradex.py +3 -3
- ccxt/pro/phemex.py +75 -21
- ccxt/pro/poloniex.py +124 -41
- ccxt/pro/probit.py +87 -80
- ccxt/pro/tradeogre.py +272 -0
- ccxt/pro/upbit.py +152 -12
- ccxt/pro/vertex.py +8 -3
- ccxt/pro/whitebit.py +58 -5
- ccxt/pro/woo.py +228 -37
- ccxt/pro/woofipro.py +106 -18
- ccxt/pro/xt.py +111 -5
- ccxt/probit.py +224 -95
- ccxt/protobuf/__init__.py +0 -0
- ccxt/protobuf/mexc/PrivateAccountV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateDealsV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PrivateOrdersV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicAggreDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicAggreDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicBookTickerBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicBookTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicDealsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsBatchV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicIncreaseDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicLimitDepthsV3Api_pb2.py +39 -0
- ccxt/protobuf/mexc/PublicMiniTickerV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PublicMiniTickersV3Api_pb2.py +38 -0
- ccxt/protobuf/mexc/PublicSpotKlineV3Api_pb2.py +37 -0
- ccxt/protobuf/mexc/PushDataV3ApiWrapper_pb2.py +52 -0
- ccxt/protobuf/mexc/__init__.py +0 -0
- ccxt/ramzinex.py +28 -25
- ccxt/sarmayex.py +7 -7
- ccxt/sarrafex.py +10 -10
- ccxt/static_dependencies/__init__.py +1 -1
- ccxt/static_dependencies/lark/py.typed +0 -0
- ccxt/static_dependencies/marshmallow/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- ccxt/tabdeal.py +12 -11
- ccxt/test/tests_async.py +261 -57
- ccxt/test/tests_helpers.py +1 -3
- ccxt/test/tests_init.py +4 -3
- ccxt/test/tests_sync.py +261 -57
- ccxt/tetherland.py +7 -7
- ccxt/timex.py +210 -51
- ccxt/tokocrypto.py +167 -47
- ccxt/tradeogre.py +266 -31
- ccxt/twox.py +7 -7
- ccxt/ubitex.py +9 -9
- ccxt/upbit.py +568 -165
- ccxt/vertex.py +160 -32
- ccxt/wallex.py +9 -9
- ccxt/wavesexchange.py +165 -30
- ccxt/whitebit.py +975 -127
- ccxt/woo.py +1917 -1016
- ccxt/woofipro.py +432 -141
- ccxt/xt.py +649 -193
- ccxt/yobit.py +194 -70
- ccxt/zaif.py +91 -15
- ccxt/zonda.py +151 -36
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/METADATA +225 -73
- ccxt_ir-4.5.0.dist-info/RECORD +743 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
- ccxt/__test__.py +0 -7
- ccxt/abstract/ace.py +0 -15
- ccxt/abstract/bitbay.py +0 -53
- ccxt/abstract/bitcoincom.py +0 -115
- ccxt/abstract/bitfinex2.py +0 -139
- ccxt/abstract/bitpanda.py +0 -35
- ccxt/abstract/bl3p.py +0 -19
- ccxt/abstract/coinlist.py +0 -54
- ccxt/abstract/currencycom.py +0 -68
- ccxt/abstract/hitbtc3.py +0 -115
- ccxt/abstract/idex.py +0 -26
- ccxt/abstract/kuna.py +0 -182
- ccxt/abstract/lykke.py +0 -29
- ccxt/abstract/poloniexfutures.py +0 -48
- ccxt/abstract/wazirx.py +0 -30
- ccxt/ace.py +0 -1012
- ccxt/async_support/ace.py +0 -1012
- ccxt/async_support/base/ws/aiohttp_client.py +0 -125
- ccxt/async_support/base/ws/fast_client.py +0 -96
- ccxt/async_support/bitbay.py +0 -17
- ccxt/async_support/bitcoincom.py +0 -17
- ccxt/async_support/bitfinex2.py +0 -3552
- ccxt/async_support/bitpanda.py +0 -16
- ccxt/async_support/bl3p.py +0 -485
- ccxt/async_support/coinlist.py +0 -2243
- ccxt/async_support/currencycom.py +0 -1950
- ccxt/async_support/hitbtc3.py +0 -16
- ccxt/async_support/idex.py +0 -1766
- ccxt/async_support/kuna.py +0 -1841
- ccxt/async_support/lykke.py +0 -1270
- ccxt/async_support/poloniexfutures.py +0 -1717
- ccxt/async_support/wazirx.py +0 -1224
- ccxt/bitbay.py +0 -17
- ccxt/bitcoincom.py +0 -17
- ccxt/bitfinex2.py +0 -3552
- ccxt/bitpanda.py +0 -16
- ccxt/bl3p.py +0 -485
- ccxt/coinlist.py +0 -2243
- ccxt/currencycom.py +0 -1950
- ccxt/hitbtc3.py +0 -16
- ccxt/idex.py +0 -1766
- ccxt/kuna.py +0 -1841
- ccxt/lykke.py +0 -1270
- ccxt/poloniexfutures.py +0 -1717
- ccxt/pro/bitcoincom.py +0 -34
- ccxt/pro/bitfinex2.py +0 -1083
- ccxt/pro/bitpanda.py +0 -15
- ccxt/pro/currencycom.py +0 -536
- ccxt/pro/idex.py +0 -672
- ccxt/pro/poloniexfutures.py +0 -990
- ccxt/pro/wazirx.py +0 -749
- ccxt/test/base/__init__.py +0 -29
- ccxt/test/base/test_account.py +0 -26
- ccxt/test/base/test_balance.py +0 -56
- ccxt/test/base/test_borrow_interest.py +0 -35
- ccxt/test/base/test_borrow_rate.py +0 -32
- ccxt/test/base/test_calculate_fee.py +0 -51
- ccxt/test/base/test_crypto.py +0 -127
- ccxt/test/base/test_currency.py +0 -76
- ccxt/test/base/test_datetime.py +0 -109
- ccxt/test/base/test_decimal_to_precision.py +0 -392
- ccxt/test/base/test_deep_extend.py +0 -68
- ccxt/test/base/test_deposit_withdrawal.py +0 -50
- ccxt/test/base/test_exchange_datetime_functions.py +0 -76
- ccxt/test/base/test_funding_rate_history.py +0 -29
- ccxt/test/base/test_last_price.py +0 -31
- ccxt/test/base/test_ledger_entry.py +0 -45
- ccxt/test/base/test_ledger_item.py +0 -48
- ccxt/test/base/test_leverage_tier.py +0 -33
- ccxt/test/base/test_liquidation.py +0 -50
- ccxt/test/base/test_margin_mode.py +0 -24
- ccxt/test/base/test_margin_modification.py +0 -35
- ccxt/test/base/test_market.py +0 -193
- ccxt/test/base/test_number.py +0 -411
- ccxt/test/base/test_ohlcv.py +0 -33
- ccxt/test/base/test_open_interest.py +0 -32
- ccxt/test/base/test_order.py +0 -64
- ccxt/test/base/test_order_book.py +0 -69
- ccxt/test/base/test_position.py +0 -60
- ccxt/test/base/test_shared_methods.py +0 -353
- ccxt/test/base/test_status.py +0 -24
- ccxt/test/base/test_throttle.py +0 -126
- ccxt/test/base/test_ticker.py +0 -92
- ccxt/test/base/test_trade.py +0 -47
- ccxt/test/base/test_trading_fee.py +0 -26
- ccxt/test/base/test_transaction.py +0 -39
- ccxt/test/test_async.py +0 -1649
- ccxt/test/test_sync.py +0 -1648
- ccxt/wazirx.py +0 -1224
- ccxt_ir-4.3.46.0.3.dist-info/RECORD +0 -773
- /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
- {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
- {ccxt_ir-4.3.46.0.3.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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
816
|
-
|
|
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
|
-
|
|
831
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
1414
|
-
if
|
|
1415
|
-
request['stop_price'] = self.price_to_precision(symbol,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|