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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.coinbaseexchange import ImplicitAPI
|
|
8
8
|
import hashlib
|
|
9
|
-
from ccxt.base.types import Account, Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction
|
|
9
|
+
from ccxt.base.types import Account, Any, Balances, Currencies, Currency, DepositAddress, Int, LedgerEntry, 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
|
|
@@ -24,7 +24,7 @@ from ccxt.base.precise import Precise
|
|
|
24
24
|
|
|
25
25
|
class coinbaseexchange(Exchange, ImplicitAPI):
|
|
26
26
|
|
|
27
|
-
def describe(self):
|
|
27
|
+
def describe(self) -> Any:
|
|
28
28
|
return self.deep_extend(super(coinbaseexchange, self).describe(), {
|
|
29
29
|
'id': 'coinbaseexchange',
|
|
30
30
|
'name': 'Coinbase Exchange',
|
|
@@ -39,27 +39,73 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
39
39
|
'swap': False,
|
|
40
40
|
'future': False,
|
|
41
41
|
'option': False,
|
|
42
|
+
'addMargin': False,
|
|
43
|
+
'borrowCrossMargin': False,
|
|
44
|
+
'borrowIsolatedMargin': False,
|
|
45
|
+
'borrowMargin': False,
|
|
42
46
|
'cancelAllOrders': True,
|
|
43
47
|
'cancelOrder': True,
|
|
48
|
+
'closeAllPositions': False,
|
|
49
|
+
'closePosition': False,
|
|
44
50
|
'createDepositAddress': True,
|
|
45
51
|
'createOrder': True,
|
|
52
|
+
'createOrderWithTakeProfitAndStopLoss': False,
|
|
53
|
+
'createOrderWithTakeProfitAndStopLossWs': False,
|
|
54
|
+
'createPostOnlyOrder': False,
|
|
55
|
+
'createReduceOnlyOrder': False,
|
|
46
56
|
'createStopLimitOrder': True,
|
|
47
57
|
'createStopMarketOrder': True,
|
|
48
58
|
'createStopOrder': True,
|
|
49
59
|
'fetchAccounts': True,
|
|
50
60
|
'fetchBalance': True,
|
|
61
|
+
'fetchBorrowInterest': False,
|
|
62
|
+
'fetchBorrowRate': False,
|
|
63
|
+
'fetchBorrowRateHistories': False,
|
|
64
|
+
'fetchBorrowRateHistory': False,
|
|
65
|
+
'fetchBorrowRates': False,
|
|
66
|
+
'fetchBorrowRatesPerSymbol': False,
|
|
51
67
|
'fetchClosedOrders': True,
|
|
68
|
+
'fetchCrossBorrowRate': False,
|
|
69
|
+
'fetchCrossBorrowRates': False,
|
|
52
70
|
'fetchCurrencies': True,
|
|
53
71
|
'fetchDepositAddress': False, # the exchange does not have self method, only createDepositAddress, see https://github.com/ccxt/ccxt/pull/7405
|
|
54
72
|
'fetchDeposits': True,
|
|
55
73
|
'fetchDepositsWithdrawals': True,
|
|
74
|
+
'fetchFundingHistory': False,
|
|
75
|
+
'fetchFundingInterval': False,
|
|
76
|
+
'fetchFundingIntervals': False,
|
|
56
77
|
'fetchFundingRate': False,
|
|
78
|
+
'fetchFundingRateHistory': False,
|
|
79
|
+
'fetchFundingRates': False,
|
|
80
|
+
'fetchGreeks': False,
|
|
81
|
+
'fetchIndexOHLCV': False,
|
|
82
|
+
'fetchIsolatedBorrowRate': False,
|
|
83
|
+
'fetchIsolatedBorrowRates': False,
|
|
84
|
+
'fetchIsolatedPositions': False,
|
|
57
85
|
'fetchLedger': True,
|
|
86
|
+
'fetchLeverage': False,
|
|
87
|
+
'fetchLeverages': False,
|
|
88
|
+
'fetchLeverageTiers': False,
|
|
89
|
+
'fetchLiquidations': False,
|
|
90
|
+
'fetchLongShortRatio': False,
|
|
91
|
+
'fetchLongShortRatioHistory': False,
|
|
92
|
+
'fetchMarginAdjustmentHistory': False,
|
|
58
93
|
'fetchMarginMode': False,
|
|
94
|
+
'fetchMarginModes': False,
|
|
95
|
+
'fetchMarketLeverageTiers': False,
|
|
59
96
|
'fetchMarkets': True,
|
|
97
|
+
'fetchMarkOHLCV': False,
|
|
98
|
+
'fetchMarkPrices': False,
|
|
99
|
+
'fetchMyLiquidations': False,
|
|
100
|
+
'fetchMySettlementHistory': False,
|
|
60
101
|
'fetchMyTrades': True,
|
|
61
102
|
'fetchOHLCV': True,
|
|
103
|
+
'fetchOpenInterest': False,
|
|
104
|
+
'fetchOpenInterestHistory': False,
|
|
105
|
+
'fetchOpenInterests': False,
|
|
62
106
|
'fetchOpenOrders': True,
|
|
107
|
+
'fetchOption': False,
|
|
108
|
+
'fetchOptionChain': False,
|
|
63
109
|
'fetchOrder': True,
|
|
64
110
|
'fetchOrderBook': True,
|
|
65
111
|
'fetchOrders': True,
|
|
@@ -71,6 +117,8 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
71
117
|
'fetchPositionsForSymbol': False,
|
|
72
118
|
'fetchPositionsHistory': False,
|
|
73
119
|
'fetchPositionsRisk': False,
|
|
120
|
+
'fetchPremiumIndexOHLCV': False,
|
|
121
|
+
'fetchSettlementHistory': False,
|
|
74
122
|
'fetchTicker': True,
|
|
75
123
|
'fetchTickers': True,
|
|
76
124
|
'fetchTime': True,
|
|
@@ -78,7 +126,16 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
78
126
|
'fetchTradingFee': False,
|
|
79
127
|
'fetchTradingFees': True,
|
|
80
128
|
'fetchTransactions': 'emulated',
|
|
129
|
+
'fetchVolatilityHistory': False,
|
|
81
130
|
'fetchWithdrawals': True,
|
|
131
|
+
'reduceMargin': False,
|
|
132
|
+
'repayCrossMargin': False,
|
|
133
|
+
'repayIsolatedMargin': False,
|
|
134
|
+
'repayMargin': False,
|
|
135
|
+
'setLeverage': False,
|
|
136
|
+
'setMargin': False,
|
|
137
|
+
'setMarginMode': False,
|
|
138
|
+
'setPositionMode': False,
|
|
82
139
|
'withdraw': True,
|
|
83
140
|
},
|
|
84
141
|
'timeframes': {
|
|
@@ -124,7 +181,8 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
124
181
|
'products/{id}/ticker',
|
|
125
182
|
'products/{id}/trades',
|
|
126
183
|
'time',
|
|
127
|
-
'products/spark-lines', # experimental
|
|
184
|
+
'products/spark-lines', # experimental,
|
|
185
|
+
'products/volume-summary',
|
|
128
186
|
],
|
|
129
187
|
},
|
|
130
188
|
'private': {
|
|
@@ -221,6 +279,159 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
221
279
|
},
|
|
222
280
|
},
|
|
223
281
|
},
|
|
282
|
+
'features': {
|
|
283
|
+
'default': {
|
|
284
|
+
'sandbox': True,
|
|
285
|
+
'createOrder': {
|
|
286
|
+
'marginMode': True,
|
|
287
|
+
'triggerPrice': True,
|
|
288
|
+
'triggerPriceType': None,
|
|
289
|
+
'triggerDirection': False,
|
|
290
|
+
'stopLossPrice': False, # todo
|
|
291
|
+
'takeProfitPrice': False, # todo
|
|
292
|
+
'attachedStopLossTakeProfit': None,
|
|
293
|
+
'timeInForce': {
|
|
294
|
+
'IOC': True,
|
|
295
|
+
'FOK': True,
|
|
296
|
+
'PO': True,
|
|
297
|
+
'GTD': True,
|
|
298
|
+
},
|
|
299
|
+
'hedged': False,
|
|
300
|
+
'trailing': False,
|
|
301
|
+
'leverage': False,
|
|
302
|
+
'marketBuyByCost': False,
|
|
303
|
+
'marketBuyRequiresPrice': False,
|
|
304
|
+
'selfTradePrevention': False,
|
|
305
|
+
'iceberg': True, # todo: implement
|
|
306
|
+
},
|
|
307
|
+
'createOrders': None,
|
|
308
|
+
'fetchMyTrades': {
|
|
309
|
+
'marginMode': False,
|
|
310
|
+
'limit': 100,
|
|
311
|
+
'daysBack': 100000,
|
|
312
|
+
'untilDays': 100000,
|
|
313
|
+
'symbolRequired': True,
|
|
314
|
+
},
|
|
315
|
+
'fetchOrder': {
|
|
316
|
+
'marginMode': False,
|
|
317
|
+
'trigger': False,
|
|
318
|
+
'trailing': False,
|
|
319
|
+
'symbolRequired': False,
|
|
320
|
+
},
|
|
321
|
+
'fetchOpenOrders': {
|
|
322
|
+
'marginMode': False,
|
|
323
|
+
'limit': 100,
|
|
324
|
+
'trigger': False,
|
|
325
|
+
'trailing': False,
|
|
326
|
+
'symbolRequired': False,
|
|
327
|
+
},
|
|
328
|
+
'fetchOrders': {
|
|
329
|
+
'marginMode': False,
|
|
330
|
+
'limit': 100,
|
|
331
|
+
'daysBack': 100000,
|
|
332
|
+
'untilDays': 100000,
|
|
333
|
+
'trigger': False,
|
|
334
|
+
'trailing': False,
|
|
335
|
+
'symbolRequired': False,
|
|
336
|
+
},
|
|
337
|
+
'fetchClosedOrders': {
|
|
338
|
+
'marginMode': False,
|
|
339
|
+
'limit': 100,
|
|
340
|
+
'daysBack': 100000,
|
|
341
|
+
'daysBackCanceled': 1,
|
|
342
|
+
'untilDays': 100000,
|
|
343
|
+
'trigger': False,
|
|
344
|
+
'trailing': False,
|
|
345
|
+
'symbolRequired': False,
|
|
346
|
+
},
|
|
347
|
+
'fetchOHLCV': {
|
|
348
|
+
'limit': 300,
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
'spot': {
|
|
352
|
+
'extends': 'default',
|
|
353
|
+
},
|
|
354
|
+
'swap': {
|
|
355
|
+
'linear': None,
|
|
356
|
+
'inverse': None,
|
|
357
|
+
},
|
|
358
|
+
'future': {
|
|
359
|
+
'linear': None,
|
|
360
|
+
'inverse': None,
|
|
361
|
+
},
|
|
362
|
+
},
|
|
363
|
+
'options': {
|
|
364
|
+
'networks': {
|
|
365
|
+
'BTC': 'bitcoin',
|
|
366
|
+
# LIGHTNING unsupported
|
|
367
|
+
'ETH': 'ethereum',
|
|
368
|
+
# TRON unsupported
|
|
369
|
+
'SOL': 'solana',
|
|
370
|
+
# BSC unsupported
|
|
371
|
+
'ARBONE': 'arbitrum',
|
|
372
|
+
'AVAXC': 'avacchain',
|
|
373
|
+
'MATIC': 'polygon',
|
|
374
|
+
'BASE': 'base',
|
|
375
|
+
'SUI': 'sui',
|
|
376
|
+
'OP': 'optimism',
|
|
377
|
+
'NEAR': 'near',
|
|
378
|
+
# CRONOS unsupported
|
|
379
|
+
# GNO unsupported
|
|
380
|
+
'APT': 'aptos',
|
|
381
|
+
# SCROLL unsupported
|
|
382
|
+
'KAVA': 'kava',
|
|
383
|
+
# TAIKO unsupported
|
|
384
|
+
# BOB unsupported
|
|
385
|
+
# LINEA unsupported
|
|
386
|
+
'BLAST': 'blast',
|
|
387
|
+
'XLM': 'stellar',
|
|
388
|
+
# RSK unsupported
|
|
389
|
+
'SEI': 'sei',
|
|
390
|
+
# TON unsupported
|
|
391
|
+
# MANTLE unsupported
|
|
392
|
+
'ADA': 'cardano',
|
|
393
|
+
# HYPE unsupported
|
|
394
|
+
'CORE': 'coredao',
|
|
395
|
+
'ALGO': 'algorand',
|
|
396
|
+
# RUNE unsupported
|
|
397
|
+
'OSMO': 'osmosis',
|
|
398
|
+
# XIN unsupported
|
|
399
|
+
'CELO': 'celo',
|
|
400
|
+
'HBAR': 'hedera',
|
|
401
|
+
# FTM unsupported
|
|
402
|
+
# WEMIX unsupported
|
|
403
|
+
'ZKSYNC': 'zksync',
|
|
404
|
+
# KLAY unsupported
|
|
405
|
+
# HT unsupported
|
|
406
|
+
# FSN unsupported
|
|
407
|
+
# EOS unsupported, eosio?
|
|
408
|
+
# ACA unsupported
|
|
409
|
+
'STX': 'stacks',
|
|
410
|
+
'XTZ': 'tezos',
|
|
411
|
+
# NEO unsupported
|
|
412
|
+
# METIS unsupported
|
|
413
|
+
# TLOS unsupported
|
|
414
|
+
'EGLD': 'elrond',
|
|
415
|
+
# ASTR unsupported
|
|
416
|
+
# CFX unsupported
|
|
417
|
+
# GLMR unsupported
|
|
418
|
+
# CANTO unsupported
|
|
419
|
+
# SCRT unsupported
|
|
420
|
+
'LTC': 'litecoin',
|
|
421
|
+
# AURORA unsupported
|
|
422
|
+
# ONG unsupported
|
|
423
|
+
'ATOM': 'cosmos',
|
|
424
|
+
# CHZ unsupported
|
|
425
|
+
'FIL': 'filecoin',
|
|
426
|
+
'DOT': 'polkadot',
|
|
427
|
+
'DOGE': 'dogecoin',
|
|
428
|
+
# BRC20 unsupported
|
|
429
|
+
'XRP': 'ripple',
|
|
430
|
+
# XMR unsupported
|
|
431
|
+
'DASH': 'dash',
|
|
432
|
+
# akash, aleo, axelar, bitcoincash, berachain, deso, ethereumclassic, unichain, flow, flare, dfinity, story,kusama, mina, ronin, oasis, bittensor, celestia, noble, vara, vechain, zcash, horizen, zetachain
|
|
433
|
+
},
|
|
434
|
+
},
|
|
224
435
|
'exceptions': {
|
|
225
436
|
'exact': {
|
|
226
437
|
'Insufficient funds': InsufficientFunds,
|
|
@@ -248,36 +459,53 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
248
459
|
async def fetch_currencies(self, params={}) -> Currencies:
|
|
249
460
|
"""
|
|
250
461
|
fetches all available currencies on an exchange
|
|
251
|
-
|
|
462
|
+
|
|
463
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getcurrencies
|
|
464
|
+
|
|
252
465
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
253
466
|
:returns dict: an associative dictionary of currencies
|
|
254
467
|
"""
|
|
255
468
|
response = await self.publicGetCurrencies(params)
|
|
256
469
|
#
|
|
257
|
-
#
|
|
258
|
-
#
|
|
259
|
-
#
|
|
260
|
-
#
|
|
261
|
-
#
|
|
262
|
-
#
|
|
263
|
-
#
|
|
264
|
-
#
|
|
265
|
-
#
|
|
266
|
-
#
|
|
267
|
-
#
|
|
268
|
-
#
|
|
269
|
-
#
|
|
270
|
-
#
|
|
271
|
-
#
|
|
272
|
-
#
|
|
273
|
-
#
|
|
274
|
-
#
|
|
275
|
-
#
|
|
276
|
-
#
|
|
277
|
-
#
|
|
278
|
-
#
|
|
279
|
-
#
|
|
280
|
-
#
|
|
470
|
+
# {
|
|
471
|
+
# "id": "USDT",
|
|
472
|
+
# "name": "Tether",
|
|
473
|
+
# "min_size": "0.000001",
|
|
474
|
+
# "status": "online",
|
|
475
|
+
# "message": "",
|
|
476
|
+
# "max_precision": "0.000001",
|
|
477
|
+
# "convertible_to": [],
|
|
478
|
+
# "details": {
|
|
479
|
+
# "type": "crypto",
|
|
480
|
+
# "symbol": null,
|
|
481
|
+
# "network_confirmations": 14,
|
|
482
|
+
# "sort_order": 0,
|
|
483
|
+
# "crypto_address_link": "https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7?a={{address}}",
|
|
484
|
+
# "crypto_transaction_link": "https://etherscan.io/tx/0x{{txId}}",
|
|
485
|
+
# "push_payment_methods": [],
|
|
486
|
+
# "group_types": [],
|
|
487
|
+
# "display_name": null,
|
|
488
|
+
# "processing_time_seconds": null,
|
|
489
|
+
# "min_withdrawal_amount": 0.000001,
|
|
490
|
+
# "max_withdrawal_amount": 20000000
|
|
491
|
+
# },
|
|
492
|
+
# "default_network": "ethereum",
|
|
493
|
+
# "supported_networks": [
|
|
494
|
+
# {
|
|
495
|
+
# "id": "ethereum",
|
|
496
|
+
# "name": "Ethereum",
|
|
497
|
+
# "status": "online",
|
|
498
|
+
# "contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
|
|
499
|
+
# "crypto_address_link": "https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7?a={{address}}",
|
|
500
|
+
# "crypto_transaction_link": "https://etherscan.io/tx/0x{{txId}}",
|
|
501
|
+
# "min_withdrawal_amount": 0.000001,
|
|
502
|
+
# "max_withdrawal_amount": 20000000,
|
|
503
|
+
# "network_confirmations": 14,
|
|
504
|
+
# "processing_time_seconds": null
|
|
505
|
+
# }
|
|
506
|
+
# ],
|
|
507
|
+
# "display_name": "USDT"
|
|
508
|
+
# }
|
|
281
509
|
#
|
|
282
510
|
result: dict = {}
|
|
283
511
|
for i in range(0, len(response)):
|
|
@@ -285,16 +513,38 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
285
513
|
id = self.safe_string(currency, 'id')
|
|
286
514
|
name = self.safe_string(currency, 'name')
|
|
287
515
|
code = self.safe_currency_code(id)
|
|
288
|
-
details = self.
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
516
|
+
details = self.safe_dict(currency, 'details', {})
|
|
517
|
+
networks: dict = {}
|
|
518
|
+
supportedNetworks = self.safe_list(currency, 'supported_networks', [])
|
|
519
|
+
for j in range(0, len(supportedNetworks)):
|
|
520
|
+
network = supportedNetworks[j]
|
|
521
|
+
networkId = self.safe_string(network, 'id')
|
|
522
|
+
networkCode = self.network_id_to_code(networkId)
|
|
523
|
+
networks[networkCode] = {
|
|
524
|
+
'id': networkId,
|
|
525
|
+
'name': self.safe_string(network, 'name'),
|
|
526
|
+
'network': networkCode,
|
|
527
|
+
'active': self.safe_string(network, 'status') == 'online',
|
|
528
|
+
'withdraw': None,
|
|
529
|
+
'deposit': None,
|
|
530
|
+
'fee': None,
|
|
531
|
+
'precision': None,
|
|
532
|
+
'limits': {
|
|
533
|
+
'withdraw': {
|
|
534
|
+
'min': self.safe_number(network, 'min_withdrawal_amount'),
|
|
535
|
+
'max': self.safe_number(network, 'max_withdrawal_amount'),
|
|
536
|
+
},
|
|
537
|
+
},
|
|
538
|
+
'contract': self.safe_string(network, 'contract_address'),
|
|
539
|
+
'info': network,
|
|
540
|
+
}
|
|
541
|
+
result[code] = self.safe_currency_structure({
|
|
292
542
|
'id': id,
|
|
293
543
|
'code': code,
|
|
294
544
|
'info': currency,
|
|
295
545
|
'type': self.safe_string(details, 'type'),
|
|
296
546
|
'name': name,
|
|
297
|
-
'active':
|
|
547
|
+
'active': self.safe_string(currency, 'status') == 'online',
|
|
298
548
|
'deposit': None,
|
|
299
549
|
'withdraw': None,
|
|
300
550
|
'fee': None,
|
|
@@ -306,17 +556,19 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
306
556
|
},
|
|
307
557
|
'withdraw': {
|
|
308
558
|
'min': self.safe_number(details, 'min_withdrawal_amount'),
|
|
309
|
-
'max':
|
|
559
|
+
'max': self.safe_number(details, 'max_withdrawal_amount'),
|
|
310
560
|
},
|
|
311
561
|
},
|
|
312
|
-
'networks':
|
|
313
|
-
}
|
|
562
|
+
'networks': networks,
|
|
563
|
+
})
|
|
314
564
|
return result
|
|
315
565
|
|
|
316
566
|
async def fetch_markets(self, params={}) -> List[Market]:
|
|
317
567
|
"""
|
|
318
568
|
retrieves data on all markets for coinbaseexchange
|
|
319
|
-
|
|
569
|
+
|
|
570
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproducts
|
|
571
|
+
|
|
320
572
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
321
573
|
:returns dict[]: an array of objects representing market data
|
|
322
574
|
"""
|
|
@@ -434,7 +686,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
434
686
|
async def fetch_accounts(self, params={}) -> List[Account]:
|
|
435
687
|
"""
|
|
436
688
|
fetch all the accounts associated with a profile
|
|
437
|
-
|
|
689
|
+
|
|
690
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccounts
|
|
691
|
+
|
|
438
692
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
439
693
|
:returns dict: a dictionary of `account structures <https://docs.ccxt.com/#/?id=account-structure>` indexed by the account type
|
|
440
694
|
"""
|
|
@@ -497,7 +751,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
497
751
|
async def fetch_balance(self, params={}) -> Balances:
|
|
498
752
|
"""
|
|
499
753
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
|
500
|
-
|
|
754
|
+
|
|
755
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccounts
|
|
756
|
+
|
|
501
757
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
502
758
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
|
503
759
|
"""
|
|
@@ -507,7 +763,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
507
763
|
|
|
508
764
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
|
509
765
|
"""
|
|
510
|
-
|
|
766
|
+
|
|
767
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproductbook
|
|
768
|
+
|
|
511
769
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
|
512
770
|
:param str symbol: unified symbol of the market to fetch the order book for
|
|
513
771
|
:param int [limit]: the maximum amount of order book entries to return
|
|
@@ -624,7 +882,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
624
882
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
|
625
883
|
"""
|
|
626
884
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
627
|
-
|
|
885
|
+
|
|
886
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproduct
|
|
887
|
+
|
|
628
888
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
629
889
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
630
890
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
|
@@ -667,7 +927,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
667
927
|
|
|
668
928
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
|
669
929
|
"""
|
|
670
|
-
|
|
930
|
+
|
|
931
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproductticker
|
|
932
|
+
|
|
671
933
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
672
934
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
|
673
935
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -776,7 +1038,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
776
1038
|
|
|
777
1039
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
778
1040
|
"""
|
|
779
|
-
|
|
1041
|
+
|
|
1042
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getfills
|
|
1043
|
+
|
|
780
1044
|
fetch all trades made by the user
|
|
781
1045
|
:param str symbol: unified market symbol
|
|
782
1046
|
:param int [since]: the earliest time in ms to fetch trades for
|
|
@@ -810,7 +1074,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
810
1074
|
|
|
811
1075
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
|
812
1076
|
"""
|
|
813
|
-
|
|
1077
|
+
|
|
1078
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproducttrades
|
|
1079
|
+
|
|
814
1080
|
get the list of most recent trades for a particular symbol
|
|
815
1081
|
:param str symbol: unified symbol of the market to fetch trades for
|
|
816
1082
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
|
@@ -842,7 +1108,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
842
1108
|
async def fetch_trading_fees(self, params={}) -> TradingFees:
|
|
843
1109
|
"""
|
|
844
1110
|
fetch the trading fees for multiple markets
|
|
845
|
-
|
|
1111
|
+
|
|
1112
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getfees
|
|
1113
|
+
|
|
846
1114
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
847
1115
|
:returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
|
|
848
1116
|
"""
|
|
@@ -892,7 +1160,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
892
1160
|
|
|
893
1161
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
|
894
1162
|
"""
|
|
895
|
-
|
|
1163
|
+
|
|
1164
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproductcandles
|
|
1165
|
+
|
|
896
1166
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
|
897
1167
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
|
898
1168
|
:param str timeframe: the length of time each candle represents
|
|
@@ -944,7 +1214,7 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
944
1214
|
#
|
|
945
1215
|
return self.parse_ohlcvs(response, market, timeframe, since, limit)
|
|
946
1216
|
|
|
947
|
-
async def fetch_time(self, params={}):
|
|
1217
|
+
async def fetch_time(self, params={}) -> Int:
|
|
948
1218
|
"""
|
|
949
1219
|
fetches the current integer timestamp in milliseconds from the exchange server
|
|
950
1220
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1016,7 +1286,7 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1016
1286
|
side = self.safe_string(order, 'side')
|
|
1017
1287
|
timeInForce = self.safe_string(order, 'time_in_force')
|
|
1018
1288
|
postOnly = self.safe_value(order, 'post_only')
|
|
1019
|
-
|
|
1289
|
+
triggerPrice = self.safe_number(order, 'stop_price')
|
|
1020
1290
|
clientOrderId = self.safe_string(order, 'client_oid')
|
|
1021
1291
|
return self.safe_order({
|
|
1022
1292
|
'id': id,
|
|
@@ -1032,8 +1302,7 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1032
1302
|
'postOnly': postOnly,
|
|
1033
1303
|
'side': side,
|
|
1034
1304
|
'price': price,
|
|
1035
|
-
'
|
|
1036
|
-
'triggerPrice': stopPrice,
|
|
1305
|
+
'triggerPrice': triggerPrice,
|
|
1037
1306
|
'cost': cost,
|
|
1038
1307
|
'amount': amount,
|
|
1039
1308
|
'filled': filled,
|
|
@@ -1045,8 +1314,11 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1045
1314
|
|
|
1046
1315
|
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
|
1047
1316
|
"""
|
|
1048
|
-
|
|
1317
|
+
|
|
1318
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getorder
|
|
1319
|
+
|
|
1049
1320
|
fetches information on an order made by the user
|
|
1321
|
+
:param str id: the order id
|
|
1050
1322
|
:param str symbol: not used by coinbaseexchange fetchOrder
|
|
1051
1323
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1052
1324
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
@@ -1087,7 +1359,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1087
1359
|
|
|
1088
1360
|
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1089
1361
|
"""
|
|
1090
|
-
|
|
1362
|
+
|
|
1363
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getorders
|
|
1364
|
+
|
|
1091
1365
|
fetches information on multiple orders made by the user
|
|
1092
1366
|
:param str symbol: unified market symbol of the market orders were made in
|
|
1093
1367
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
@@ -1103,7 +1377,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1103
1377
|
|
|
1104
1378
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1105
1379
|
"""
|
|
1106
|
-
|
|
1380
|
+
|
|
1381
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getorders
|
|
1382
|
+
|
|
1107
1383
|
fetch all unfilled currently open orders
|
|
1108
1384
|
:param str symbol: unified market symbol
|
|
1109
1385
|
:param int [since]: the earliest time in ms to fetch open orders for
|
|
@@ -1136,7 +1412,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1136
1412
|
|
|
1137
1413
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
|
1138
1414
|
"""
|
|
1139
|
-
|
|
1415
|
+
|
|
1416
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getorders
|
|
1417
|
+
|
|
1140
1418
|
fetches information on multiple closed orders made by the user
|
|
1141
1419
|
:param str symbol: unified market symbol of the market orders were made in
|
|
1142
1420
|
:param int [since]: the earliest time in ms to fetch orders for
|
|
@@ -1152,13 +1430,15 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1152
1430
|
|
|
1153
1431
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
|
1154
1432
|
"""
|
|
1155
|
-
|
|
1433
|
+
|
|
1434
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_postorders
|
|
1435
|
+
|
|
1156
1436
|
create a trade order
|
|
1157
1437
|
:param str symbol: unified symbol of the market to create an order in
|
|
1158
1438
|
:param str type: 'market' or 'limit'
|
|
1159
1439
|
:param str side: 'buy' or 'sell'
|
|
1160
1440
|
:param float amount: how much of currency you want to trade in units of base currency
|
|
1161
|
-
:param float [price]: the price at which the order is to be
|
|
1441
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
|
1162
1442
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1163
1443
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
|
1164
1444
|
"""
|
|
@@ -1187,9 +1467,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1187
1467
|
clientOrderId = self.safe_string_2(params, 'clientOrderId', 'client_oid')
|
|
1188
1468
|
if clientOrderId is not None:
|
|
1189
1469
|
request['client_oid'] = clientOrderId
|
|
1190
|
-
|
|
1191
|
-
if
|
|
1192
|
-
request['stop_price'] = self.price_to_precision(symbol,
|
|
1470
|
+
triggerPrice = self.safe_number_n(params, ['stopPrice', 'stop_price', 'triggerPrice'])
|
|
1471
|
+
if triggerPrice is not None:
|
|
1472
|
+
request['stop_price'] = self.price_to_precision(symbol, triggerPrice)
|
|
1193
1473
|
timeInForce = self.safe_string_2(params, 'timeInForce', 'time_in_force')
|
|
1194
1474
|
if timeInForce is not None:
|
|
1195
1475
|
request['time_in_force'] = timeInForce
|
|
@@ -1235,7 +1515,9 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1235
1515
|
|
|
1236
1516
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
|
1237
1517
|
"""
|
|
1238
|
-
|
|
1518
|
+
|
|
1519
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_deleteorder
|
|
1520
|
+
|
|
1239
1521
|
cancels an open order
|
|
1240
1522
|
:param str id: order id
|
|
1241
1523
|
:param str symbol: unified symbol of the market the order was made in
|
|
@@ -1259,11 +1541,14 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1259
1541
|
if symbol is not None:
|
|
1260
1542
|
market = self.market(symbol)
|
|
1261
1543
|
request['product_id'] = market['symbol'] # the request will be more performant if you include it
|
|
1262
|
-
|
|
1544
|
+
response = await getattr(self, method)(self.extend(request, params))
|
|
1545
|
+
return self.safe_order({'info': response})
|
|
1263
1546
|
|
|
1264
1547
|
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
|
1265
1548
|
"""
|
|
1266
|
-
|
|
1549
|
+
|
|
1550
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_deleteorders
|
|
1551
|
+
|
|
1267
1552
|
cancel all open orders
|
|
1268
1553
|
:param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
|
|
1269
1554
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
@@ -1275,16 +1560,19 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1275
1560
|
if symbol is not None:
|
|
1276
1561
|
market = self.market(symbol)
|
|
1277
1562
|
request['product_id'] = market['symbol'] # the request will be more performant if you include it
|
|
1278
|
-
|
|
1563
|
+
response = await self.privateDeleteOrders(self.extend(request, params))
|
|
1564
|
+
return [self.safe_order({'info': response})]
|
|
1279
1565
|
|
|
1280
1566
|
async def fetch_payment_methods(self, params={}):
|
|
1281
1567
|
return await self.privateGetPaymentMethods(params)
|
|
1282
1568
|
|
|
1283
|
-
async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
|
|
1569
|
+
async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
|
|
1284
1570
|
"""
|
|
1285
1571
|
make a withdrawal
|
|
1286
|
-
|
|
1287
|
-
|
|
1572
|
+
|
|
1573
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_postwithdrawpaymentmethod
|
|
1574
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_postwithdrawcoinbaseaccount
|
|
1575
|
+
|
|
1288
1576
|
:param str code: unified currency code
|
|
1289
1577
|
:param float amount: the amount to withdraw
|
|
1290
1578
|
:param str address: the address to withdraw to
|
|
@@ -1325,7 +1613,7 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1325
1613
|
}
|
|
1326
1614
|
return self.safe_string(types, type, type)
|
|
1327
1615
|
|
|
1328
|
-
def parse_ledger_entry(self, item: dict, currency: Currency = None):
|
|
1616
|
+
def parse_ledger_entry(self, item: dict, currency: Currency = None) -> LedgerEntry:
|
|
1329
1617
|
# {
|
|
1330
1618
|
# "id": "12087495079",
|
|
1331
1619
|
# "amount": "-0.0100000000000000",
|
|
@@ -1377,34 +1665,36 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1377
1665
|
else:
|
|
1378
1666
|
referenceId = self.safe_string(details, 'order_id')
|
|
1379
1667
|
status = 'ok'
|
|
1380
|
-
return {
|
|
1668
|
+
return self.safe_ledger_entry({
|
|
1669
|
+
'info': item,
|
|
1381
1670
|
'id': id,
|
|
1382
|
-
'
|
|
1671
|
+
'timestamp': timestamp,
|
|
1672
|
+
'datetime': self.iso8601(timestamp),
|
|
1673
|
+
'direction': direction,
|
|
1383
1674
|
'account': account,
|
|
1384
1675
|
'referenceAccount': referenceAccount,
|
|
1385
1676
|
'referenceId': referenceId,
|
|
1386
|
-
'
|
|
1677
|
+
'type': type,
|
|
1678
|
+
'currency': code,
|
|
1387
1679
|
'amount': amount,
|
|
1388
1680
|
'before': before,
|
|
1389
1681
|
'after': after,
|
|
1682
|
+
'status': status,
|
|
1390
1683
|
'fee': None,
|
|
1391
|
-
|
|
1392
|
-
'timestamp': timestamp,
|
|
1393
|
-
'datetime': self.iso8601(timestamp),
|
|
1394
|
-
'type': type,
|
|
1395
|
-
'info': item,
|
|
1396
|
-
}
|
|
1684
|
+
}, currency)
|
|
1397
1685
|
|
|
1398
|
-
async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
|
1686
|
+
async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LedgerEntry]:
|
|
1399
1687
|
"""
|
|
1400
|
-
|
|
1401
|
-
|
|
1688
|
+
fetch the history of changes, actions done by the user or operations that altered the balance of the user
|
|
1689
|
+
|
|
1690
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccountledger
|
|
1691
|
+
|
|
1402
1692
|
:param str code: unified currency code, default is None
|
|
1403
1693
|
:param int [since]: timestamp in ms of the earliest ledger entry, default is None
|
|
1404
|
-
:param int [limit]: max number of ledger
|
|
1694
|
+
:param int [limit]: max number of ledger entries to return, default is None
|
|
1405
1695
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1406
1696
|
:param int [params.until]: the latest time in ms to fetch trades for
|
|
1407
|
-
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger
|
|
1697
|
+
:returns dict: a `ledger structure <https://docs.ccxt.com/#/?id=ledger>`
|
|
1408
1698
|
"""
|
|
1409
1699
|
# https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccountledger
|
|
1410
1700
|
if code is None:
|
|
@@ -1441,8 +1731,10 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1441
1731
|
async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1442
1732
|
"""
|
|
1443
1733
|
fetch history of deposits and withdrawals
|
|
1444
|
-
|
|
1445
|
-
|
|
1734
|
+
|
|
1735
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_gettransfers
|
|
1736
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccounttransfers
|
|
1737
|
+
|
|
1446
1738
|
:param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
|
|
1447
1739
|
:param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
|
|
1448
1740
|
:param int [limit]: max number of deposit/withdrawals to return, default is None
|
|
@@ -1538,8 +1830,10 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1538
1830
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1539
1831
|
"""
|
|
1540
1832
|
fetch all deposits made to an account
|
|
1541
|
-
|
|
1542
|
-
|
|
1833
|
+
|
|
1834
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_gettransfers
|
|
1835
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccounttransfers
|
|
1836
|
+
|
|
1543
1837
|
:param str code: unified currency code
|
|
1544
1838
|
:param int [since]: the earliest time in ms to fetch deposits for
|
|
1545
1839
|
:param int [limit]: the maximum number of deposits structures to retrieve
|
|
@@ -1551,8 +1845,10 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1551
1845
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
|
1552
1846
|
"""
|
|
1553
1847
|
fetch all withdrawals made from an account
|
|
1554
|
-
|
|
1555
|
-
|
|
1848
|
+
|
|
1849
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_gettransfers
|
|
1850
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getaccounttransfers
|
|
1851
|
+
|
|
1556
1852
|
:param str code: unified currency code
|
|
1557
1853
|
:param int [since]: the earliest time in ms to fetch withdrawals for
|
|
1558
1854
|
:param int [limit]: the maximum number of withdrawals structures to retrieve
|
|
@@ -1651,10 +1947,12 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1651
1947
|
'fee': fee,
|
|
1652
1948
|
}
|
|
1653
1949
|
|
|
1654
|
-
async def create_deposit_address(self, code: str, params={}):
|
|
1950
|
+
async def create_deposit_address(self, code: str, params={}) -> DepositAddress:
|
|
1655
1951
|
"""
|
|
1656
1952
|
create a currency deposit address
|
|
1657
|
-
|
|
1953
|
+
|
|
1954
|
+
https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_postcoinbaseaccountaddresses
|
|
1955
|
+
|
|
1658
1956
|
:param str code: unified currency code of the currency for the deposit address
|
|
1659
1957
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
1660
1958
|
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
|
|
@@ -1680,6 +1978,7 @@ class coinbaseexchange(Exchange, ImplicitAPI):
|
|
|
1680
1978
|
return {
|
|
1681
1979
|
'currency': code,
|
|
1682
1980
|
'address': self.check_address(address),
|
|
1981
|
+
'network': None,
|
|
1683
1982
|
'tag': tag,
|
|
1684
1983
|
'info': response,
|
|
1685
1984
|
}
|