ccxt 4.2.77__py2.py3-none-any.whl → 4.4.48__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 +36 -14
- ccxt/abstract/alpaca.py +4 -0
- ccxt/abstract/bigone.py +1 -1
- ccxt/abstract/binance.py +112 -48
- ccxt/abstract/binancecoinm.py +112 -48
- ccxt/abstract/binanceus.py +147 -83
- ccxt/abstract/binanceusdm.py +112 -48
- ccxt/abstract/bingx.py +133 -78
- ccxt/abstract/bitbank.py +5 -0
- ccxt/abstract/bitfinex.py +136 -65
- ccxt/abstract/bitfinex1.py +69 -0
- ccxt/abstract/bitflyer.py +1 -0
- ccxt/abstract/bitget.py +8 -1
- ccxt/abstract/bitmart.py +13 -1
- ccxt/abstract/bitopro.py +1 -0
- ccxt/abstract/bitpanda.py +0 -12
- ccxt/abstract/bitrue.py +3 -3
- ccxt/abstract/bitstamp.py +26 -3
- ccxt/abstract/blofin.py +24 -0
- ccxt/abstract/btcbox.py +1 -0
- ccxt/abstract/bybit.py +29 -14
- ccxt/abstract/cex.py +28 -29
- ccxt/abstract/coinbase.py +6 -0
- ccxt/abstract/coinbaseadvanced.py +94 -0
- ccxt/abstract/{coinbasepro.py → coinbaseexchange.py} +1 -0
- ccxt/abstract/coinbaseinternational.py +1 -1
- ccxt/abstract/coincatch.py +94 -0
- ccxt/abstract/coinex.py +233 -123
- ccxt/abstract/coinmetro.py +1 -0
- ccxt/abstract/cryptocom.py +14 -0
- ccxt/abstract/defx.py +69 -0
- ccxt/abstract/deribit.py +1 -0
- ccxt/abstract/digifinex.py +1 -0
- ccxt/abstract/ellipx.py +25 -0
- ccxt/abstract/gate.py +20 -0
- ccxt/abstract/gateio.py +20 -0
- ccxt/abstract/gemini.py +1 -0
- ccxt/abstract/hashkey.py +67 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/independentreserve.py +6 -0
- ccxt/abstract/kraken.py +4 -3
- ccxt/abstract/krakenfutures.py +4 -0
- ccxt/abstract/kucoin.py +24 -0
- ccxt/abstract/kucoinfutures.py +34 -0
- ccxt/abstract/luno.py +2 -0
- ccxt/abstract/mexc.py +4 -0
- ccxt/abstract/myokx.py +340 -0
- ccxt/abstract/oceanex.py +5 -0
- ccxt/abstract/okx.py +30 -0
- ccxt/abstract/onetrading.py +0 -12
- ccxt/abstract/oxfun.py +34 -0
- ccxt/abstract/paradex.py +40 -0
- ccxt/abstract/phemex.py +1 -0
- ccxt/abstract/upbit.py +4 -0
- ccxt/abstract/vertex.py +19 -0
- ccxt/abstract/whitebit.py +31 -1
- ccxt/abstract/woo.py +6 -2
- ccxt/abstract/woofipro.py +119 -0
- ccxt/abstract/xt.py +153 -0
- ccxt/abstract/zonda.py +6 -0
- ccxt/ace.py +164 -60
- ccxt/alpaca.py +727 -63
- ccxt/ascendex.py +395 -249
- ccxt/async_support/__init__.py +36 -14
- ccxt/async_support/ace.py +164 -60
- ccxt/async_support/alpaca.py +727 -63
- ccxt/async_support/ascendex.py +396 -249
- ccxt/async_support/base/exchange.py +531 -155
- ccxt/async_support/base/ws/aiohttp_client.py +28 -5
- ccxt/async_support/base/ws/cache.py +3 -2
- ccxt/async_support/base/ws/client.py +26 -5
- ccxt/async_support/base/ws/fast_client.py +4 -3
- ccxt/async_support/base/ws/functions.py +1 -1
- ccxt/async_support/base/ws/future.py +40 -31
- ccxt/async_support/base/ws/order_book_side.py +3 -0
- ccxt/async_support/bequant.py +1 -1
- ccxt/async_support/bigone.py +329 -202
- ccxt/async_support/binance.py +3030 -1087
- ccxt/async_support/binancecoinm.py +2 -1
- ccxt/async_support/binanceus.py +12 -1
- ccxt/async_support/binanceusdm.py +3 -1
- ccxt/async_support/bingx.py +3104 -880
- ccxt/async_support/bit2c.py +119 -38
- ccxt/async_support/bitbank.py +215 -76
- ccxt/async_support/bitbns.py +124 -53
- ccxt/async_support/bitfinex.py +3236 -1078
- ccxt/async_support/bitfinex1.py +1711 -0
- ccxt/async_support/bitflyer.py +238 -49
- ccxt/async_support/bitget.py +1513 -563
- ccxt/async_support/bithumb.py +199 -65
- ccxt/async_support/bitmart.py +1320 -435
- ccxt/async_support/bitmex.py +308 -111
- ccxt/async_support/bitopro.py +256 -96
- ccxt/async_support/bitrue.py +365 -233
- ccxt/async_support/bitso.py +201 -89
- ccxt/async_support/bitstamp.py +438 -269
- ccxt/async_support/bitteam.py +179 -73
- ccxt/async_support/bitvavo.py +180 -70
- ccxt/async_support/bl3p.py +92 -25
- ccxt/async_support/blockchaincom.py +193 -79
- ccxt/async_support/blofin.py +392 -148
- ccxt/async_support/btcalpha.py +161 -55
- ccxt/async_support/btcbox.py +250 -34
- ccxt/async_support/btcmarkets.py +232 -85
- ccxt/async_support/btcturk.py +159 -60
- ccxt/async_support/bybit.py +2231 -1193
- ccxt/async_support/cex.py +1409 -1329
- ccxt/async_support/coinbase.py +1454 -287
- ccxt/async_support/coinbaseadvanced.py +17 -0
- ccxt/async_support/{coinbasepro.py → coinbaseexchange.py} +233 -99
- ccxt/async_support/coinbaseinternational.py +428 -88
- ccxt/async_support/coincatch.py +5152 -0
- ccxt/async_support/coincheck.py +121 -38
- ccxt/async_support/coinex.py +4020 -3339
- ccxt/async_support/coinlist.py +273 -116
- ccxt/async_support/coinmate.py +204 -97
- ccxt/async_support/coinmetro.py +203 -110
- ccxt/async_support/coinone.py +142 -68
- ccxt/async_support/coinsph.py +206 -89
- ccxt/async_support/coinspot.py +137 -62
- ccxt/async_support/cryptocom.py +515 -185
- ccxt/async_support/currencycom.py +203 -85
- ccxt/async_support/defx.py +2066 -0
- ccxt/async_support/delta.py +404 -109
- ccxt/async_support/deribit.py +557 -323
- ccxt/async_support/digifinex.py +340 -223
- ccxt/async_support/ellipx.py +1826 -0
- ccxt/async_support/exmo.py +259 -128
- ccxt/async_support/gate.py +1472 -463
- ccxt/async_support/gemini.py +206 -84
- ccxt/async_support/hashkey.py +4164 -0
- ccxt/async_support/hitbtc.py +334 -178
- ccxt/async_support/hollaex.py +134 -83
- ccxt/async_support/htx.py +1095 -563
- ccxt/async_support/huobijp.py +105 -56
- ccxt/async_support/hyperliquid.py +1633 -268
- ccxt/async_support/idex.py +148 -95
- ccxt/async_support/independentreserve.py +236 -31
- ccxt/async_support/indodax.py +165 -62
- ccxt/async_support/kraken.py +871 -354
- ccxt/async_support/krakenfutures.py +324 -100
- ccxt/async_support/kucoin.py +917 -357
- ccxt/async_support/kucoinfutures.py +1004 -149
- ccxt/async_support/kuna.py +138 -106
- ccxt/async_support/latoken.py +135 -79
- ccxt/async_support/lbank.py +290 -113
- ccxt/async_support/luno.py +112 -62
- ccxt/async_support/lykke.py +104 -55
- ccxt/async_support/mercado.py +36 -29
- ccxt/async_support/mexc.py +995 -429
- ccxt/async_support/myokx.py +43 -0
- ccxt/async_support/ndax.py +163 -82
- ccxt/async_support/novadax.py +121 -75
- ccxt/async_support/oceanex.py +175 -59
- ccxt/async_support/okcoin.py +222 -163
- ccxt/async_support/okx.py +1776 -454
- ccxt/async_support/onetrading.py +132 -414
- ccxt/async_support/oxfun.py +2832 -0
- ccxt/async_support/p2b.py +79 -51
- ccxt/async_support/paradex.py +2017 -0
- ccxt/async_support/paymium.py +56 -32
- ccxt/async_support/phemex.py +572 -196
- ccxt/async_support/poloniex.py +218 -95
- ccxt/async_support/poloniexfutures.py +260 -92
- ccxt/async_support/probit.py +143 -110
- ccxt/async_support/timex.py +123 -70
- ccxt/async_support/tokocrypto.py +129 -93
- ccxt/async_support/tradeogre.py +39 -25
- ccxt/async_support/upbit.py +322 -113
- ccxt/async_support/vertex.py +2983 -0
- ccxt/async_support/wavesexchange.py +227 -173
- ccxt/async_support/wazirx.py +145 -65
- ccxt/async_support/whitebit.py +533 -138
- ccxt/async_support/woo.py +1137 -296
- ccxt/async_support/woofipro.py +2716 -0
- ccxt/async_support/xt.py +4628 -0
- ccxt/async_support/yobit.py +160 -92
- ccxt/async_support/zaif.py +80 -33
- ccxt/async_support/zonda.py +140 -69
- ccxt/base/errors.py +51 -20
- ccxt/base/exchange.py +1722 -480
- ccxt/base/precise.py +10 -0
- ccxt/base/types.py +223 -4
- ccxt/bequant.py +1 -1
- ccxt/bigone.py +329 -202
- ccxt/binance.py +3030 -1087
- ccxt/binancecoinm.py +2 -1
- ccxt/binanceus.py +12 -1
- ccxt/binanceusdm.py +3 -1
- ccxt/bingx.py +3104 -880
- ccxt/bit2c.py +119 -38
- ccxt/bitbank.py +215 -76
- ccxt/bitbns.py +124 -53
- ccxt/bitfinex.py +3235 -1078
- ccxt/bitfinex1.py +1710 -0
- ccxt/bitflyer.py +238 -49
- ccxt/bitget.py +1513 -563
- ccxt/bithumb.py +198 -65
- ccxt/bitmart.py +1320 -435
- ccxt/bitmex.py +308 -111
- ccxt/bitopro.py +256 -96
- ccxt/bitrue.py +365 -233
- ccxt/bitso.py +201 -89
- ccxt/bitstamp.py +438 -269
- ccxt/bitteam.py +179 -73
- ccxt/bitvavo.py +180 -70
- ccxt/bl3p.py +92 -25
- ccxt/blockchaincom.py +193 -79
- ccxt/blofin.py +392 -148
- ccxt/btcalpha.py +161 -55
- ccxt/btcbox.py +250 -34
- ccxt/btcmarkets.py +232 -85
- ccxt/btcturk.py +159 -60
- ccxt/bybit.py +2231 -1193
- ccxt/cex.py +1408 -1329
- ccxt/coinbase.py +1454 -287
- ccxt/coinbaseadvanced.py +17 -0
- ccxt/{coinbasepro.py → coinbaseexchange.py} +233 -99
- ccxt/coinbaseinternational.py +428 -88
- ccxt/coincatch.py +5152 -0
- ccxt/coincheck.py +121 -38
- ccxt/coinex.py +4020 -3339
- ccxt/coinlist.py +273 -116
- ccxt/coinmate.py +204 -97
- ccxt/coinmetro.py +203 -110
- ccxt/coinone.py +142 -68
- ccxt/coinsph.py +206 -89
- ccxt/coinspot.py +137 -62
- ccxt/cryptocom.py +515 -185
- ccxt/currencycom.py +203 -85
- ccxt/defx.py +2065 -0
- ccxt/delta.py +404 -109
- ccxt/deribit.py +557 -323
- ccxt/digifinex.py +340 -223
- ccxt/ellipx.py +1826 -0
- ccxt/exmo.py +259 -128
- ccxt/gate.py +1472 -463
- ccxt/gemini.py +206 -84
- ccxt/hashkey.py +4164 -0
- ccxt/hitbtc.py +334 -178
- ccxt/hollaex.py +134 -83
- ccxt/htx.py +1095 -563
- ccxt/huobijp.py +105 -56
- ccxt/hyperliquid.py +1632 -268
- ccxt/idex.py +148 -95
- ccxt/independentreserve.py +235 -31
- ccxt/indodax.py +165 -62
- ccxt/kraken.py +871 -354
- ccxt/krakenfutures.py +324 -100
- ccxt/kucoin.py +917 -357
- ccxt/kucoinfutures.py +1004 -149
- ccxt/kuna.py +138 -106
- ccxt/latoken.py +135 -79
- ccxt/lbank.py +290 -113
- ccxt/luno.py +112 -62
- ccxt/lykke.py +104 -55
- ccxt/mercado.py +36 -29
- ccxt/mexc.py +994 -429
- ccxt/myokx.py +43 -0
- ccxt/ndax.py +163 -82
- ccxt/novadax.py +121 -75
- ccxt/oceanex.py +175 -59
- ccxt/okcoin.py +222 -163
- ccxt/okx.py +1776 -454
- ccxt/onetrading.py +132 -414
- ccxt/oxfun.py +2831 -0
- ccxt/p2b.py +79 -51
- ccxt/paradex.py +2017 -0
- ccxt/paymium.py +56 -32
- ccxt/phemex.py +572 -196
- ccxt/poloniex.py +218 -95
- ccxt/poloniexfutures.py +260 -92
- ccxt/pro/__init__.py +29 -5
- ccxt/pro/alpaca.py +32 -17
- ccxt/pro/ascendex.py +62 -14
- ccxt/pro/bequant.py +4 -0
- ccxt/pro/binance.py +1596 -329
- ccxt/pro/binancecoinm.py +1 -0
- ccxt/pro/binanceus.py +2 -9
- ccxt/pro/binanceusdm.py +2 -0
- ccxt/pro/bingx.py +527 -134
- ccxt/pro/bitcoincom.py +4 -1
- ccxt/pro/bitfinex.py +731 -266
- ccxt/pro/bitfinex1.py +635 -0
- ccxt/pro/bitget.py +726 -357
- ccxt/pro/bithumb.py +380 -0
- ccxt/pro/bitmart.py +138 -39
- ccxt/pro/bitmex.py +199 -40
- ccxt/pro/bitopro.py +25 -13
- ccxt/pro/bitrue.py +31 -32
- ccxt/pro/bitstamp.py +7 -6
- ccxt/pro/bitvavo.py +203 -81
- ccxt/pro/blockchaincom.py +30 -17
- ccxt/pro/blofin.py +692 -0
- ccxt/pro/bybit.py +791 -82
- ccxt/pro/cex.py +99 -51
- ccxt/pro/coinbase.py +220 -30
- ccxt/{async_support/hitbtc3.py → pro/coinbaseadvanced.py} +5 -5
- ccxt/pro/{coinbasepro.py → coinbaseexchange.py} +19 -19
- ccxt/pro/coinbaseinternational.py +193 -30
- ccxt/pro/coincatch.py +1464 -0
- ccxt/pro/coincheck.py +11 -6
- ccxt/pro/coinex.py +965 -665
- ccxt/pro/coinone.py +17 -10
- ccxt/pro/cryptocom.py +446 -66
- ccxt/pro/currencycom.py +11 -10
- ccxt/pro/defx.py +832 -0
- ccxt/pro/deribit.py +167 -31
- ccxt/pro/exmo.py +252 -20
- ccxt/pro/gate.py +729 -64
- ccxt/pro/gemini.py +44 -26
- ccxt/pro/hashkey.py +802 -0
- ccxt/pro/hitbtc.py +208 -103
- ccxt/pro/hollaex.py +25 -9
- ccxt/pro/htx.py +83 -39
- ccxt/pro/huobijp.py +17 -16
- ccxt/pro/hyperliquid.py +502 -31
- ccxt/pro/idex.py +28 -13
- ccxt/pro/independentreserve.py +21 -16
- ccxt/pro/kraken.py +298 -51
- ccxt/pro/krakenfutures.py +166 -75
- ccxt/pro/kucoin.py +395 -77
- ccxt/pro/kucoinfutures.py +400 -99
- ccxt/pro/lbank.py +52 -31
- ccxt/pro/luno.py +12 -10
- ccxt/pro/mexc.py +400 -50
- ccxt/pro/myokx.py +28 -0
- ccxt/pro/ndax.py +25 -12
- ccxt/pro/okcoin.py +28 -9
- ccxt/pro/okx.py +935 -124
- ccxt/pro/onetrading.py +41 -24
- ccxt/pro/oxfun.py +1054 -0
- ccxt/pro/p2b.py +100 -24
- ccxt/pro/paradex.py +352 -0
- ccxt/pro/phemex.py +92 -33
- ccxt/pro/poloniex.py +128 -49
- ccxt/pro/poloniexfutures.py +53 -32
- ccxt/pro/probit.py +92 -85
- ccxt/pro/upbit.py +401 -8
- ccxt/pro/vertex.py +943 -0
- ccxt/pro/wazirx.py +46 -28
- ccxt/pro/whitebit.py +65 -12
- ccxt/pro/woo.py +437 -65
- ccxt/pro/woofipro.py +1271 -0
- ccxt/pro/xt.py +1067 -0
- ccxt/probit.py +143 -110
- ccxt/static_dependencies/__init__.py +1 -1
- ccxt/static_dependencies/lark/__init__.py +38 -0
- ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
- ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
- ccxt/static_dependencies/lark/ast_utils.py +59 -0
- ccxt/static_dependencies/lark/common.py +86 -0
- ccxt/static_dependencies/lark/exceptions.py +292 -0
- ccxt/static_dependencies/lark/grammar.py +130 -0
- ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- ccxt/static_dependencies/lark/indenter.py +143 -0
- ccxt/static_dependencies/lark/lark.py +658 -0
- ccxt/static_dependencies/lark/lexer.py +678 -0
- ccxt/static_dependencies/lark/load_grammar.py +1428 -0
- ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
- ccxt/static_dependencies/lark/parser_frontends.py +257 -0
- ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
- ccxt/static_dependencies/lark/parsers/earley.py +314 -0
- ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
- ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
- ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
- ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
- ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
- ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
- ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
- ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
- ccxt/static_dependencies/lark/py.typed +0 -0
- ccxt/static_dependencies/lark/reconstruct.py +107 -0
- ccxt/static_dependencies/lark/tools/__init__.py +70 -0
- ccxt/static_dependencies/lark/tools/nearley.py +202 -0
- ccxt/static_dependencies/lark/tools/serialize.py +32 -0
- ccxt/static_dependencies/lark/tools/standalone.py +196 -0
- ccxt/static_dependencies/lark/tree.py +267 -0
- ccxt/static_dependencies/lark/tree_matcher.py +186 -0
- ccxt/static_dependencies/lark/tree_templates.py +180 -0
- ccxt/static_dependencies/lark/utils.py +343 -0
- ccxt/static_dependencies/lark/visitors.py +596 -0
- ccxt/static_dependencies/marshmallow/__init__.py +81 -0
- ccxt/static_dependencies/marshmallow/base.py +65 -0
- ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
- ccxt/static_dependencies/marshmallow/decorators.py +231 -0
- ccxt/static_dependencies/marshmallow/error_store.py +60 -0
- ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
- ccxt/static_dependencies/marshmallow/fields.py +2114 -0
- ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
- ccxt/static_dependencies/marshmallow/py.typed +0 -0
- ccxt/static_dependencies/marshmallow/schema.py +1228 -0
- ccxt/static_dependencies/marshmallow/types.py +12 -0
- ccxt/static_dependencies/marshmallow/utils.py +378 -0
- ccxt/static_dependencies/marshmallow/validate.py +678 -0
- ccxt/static_dependencies/marshmallow/warnings.py +2 -0
- ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
- ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
- ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
- ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
- ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
- ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
- ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
- ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
- ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- ccxt/static_dependencies/starknet/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
- ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
- ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
- ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
- ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
- ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
- ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
- ccxt/static_dependencies/starknet/common.py +15 -0
- ccxt/static_dependencies/starknet/constants.py +39 -0
- ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- ccxt/static_dependencies/starknet/hash/address.py +79 -0
- ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
- ccxt/static_dependencies/starknet/hash/selector.py +16 -0
- ccxt/static_dependencies/starknet/hash/storage.py +12 -0
- ccxt/static_dependencies/starknet/hash/utils.py +78 -0
- ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- ccxt/static_dependencies/starknet/models/typed_data.py +45 -0
- ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
- ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
- ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
- ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
- ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
- ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
- ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
- ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
- ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
- ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
- ccxt/static_dependencies/starknet/utils/schema.py +13 -0
- ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
- ccxt/static_dependencies/starkware/__init__.py +0 -0
- ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +50 -0
- ccxt/static_dependencies/starkware/crypto/math_utils.py +78 -0
- ccxt/static_dependencies/starkware/crypto/signature.py +2344 -0
- ccxt/static_dependencies/starkware/crypto/utils.py +63 -0
- ccxt/static_dependencies/sympy/__init__.py +0 -0
- ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- ccxt/static_dependencies/sympy/core/intfunc.py +35 -0
- ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
- ccxt/static_dependencies/sympy/external/importtools.py +187 -0
- ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
- ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
- ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
- ccxt/test/{test_async.py → tests_async.py} +456 -391
- ccxt/test/tests_helpers.py +285 -0
- ccxt/test/tests_init.py +39 -0
- ccxt/test/{test_sync.py → tests_sync.py} +456 -393
- ccxt/timex.py +123 -70
- ccxt/tokocrypto.py +129 -93
- ccxt/tradeogre.py +39 -25
- ccxt/upbit.py +322 -113
- ccxt/vertex.py +2983 -0
- ccxt/wavesexchange.py +227 -173
- ccxt/wazirx.py +145 -65
- ccxt/whitebit.py +533 -138
- ccxt/woo.py +1137 -296
- ccxt/woofipro.py +2716 -0
- ccxt/xt.py +4627 -0
- ccxt/yobit.py +159 -92
- ccxt/zaif.py +80 -33
- ccxt/zonda.py +140 -69
- ccxt-4.4.48.dist-info/LICENSE.txt +21 -0
- ccxt-4.4.48.dist-info/METADATA +646 -0
- ccxt-4.4.48.dist-info/RECORD +669 -0
- {ccxt-4.2.77.dist-info → ccxt-4.4.48.dist-info}/WHEEL +1 -1
- ccxt/abstract/bitbay.py +0 -47
- ccxt/abstract/bitfinex2.py +0 -139
- ccxt/abstract/hitbtc3.py +0 -115
- ccxt/async_support/bitbay.py +0 -17
- ccxt/async_support/bitfinex2.py +0 -3496
- ccxt/async_support/flowbtc.py +0 -34
- ccxt/bitbay.py +0 -17
- ccxt/bitfinex2.py +0 -3496
- ccxt/flowbtc.py +0 -34
- ccxt/hitbtc3.py +0 -16
- ccxt/pro/bitfinex2.py +0 -1081
- ccxt/test/base/__init__.py +0 -28
- 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 -103
- 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 -32
- 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_margin_mode.py +0 -24
- ccxt/test/base/test_margin_modification.py +0 -35
- ccxt/test/base/test_market.py +0 -190
- ccxt/test/base/test_number.py +0 -411
- ccxt/test/base/test_ohlcv.py +0 -32
- 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 -63
- ccxt/test/base/test_position.py +0 -60
- ccxt/test/base/test_shared_methods.py +0 -345
- ccxt/test/base/test_status.py +0 -24
- ccxt/test/base/test_throttle.py +0 -126
- ccxt/test/base/test_ticker.py +0 -86
- 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-4.2.77.dist-info/METADATA +0 -626
- ccxt-4.2.77.dist-info/RECORD +0 -534
- {ccxt-4.2.77.dist-info → ccxt-4.4.48.dist-info}/top_level.txt +0 -0
ccxt/async_support/coincheck.py
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.coincheck import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
|
9
|
+
from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees, Transaction
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
|
-
from ccxt.base.errors import BadSymbol
|
13
12
|
from ccxt.base.errors import AuthenticationError
|
13
|
+
from ccxt.base.errors import BadSymbol
|
14
14
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
15
15
|
|
16
16
|
|
@@ -56,8 +56,11 @@ class coincheck(Exchange, ImplicitAPI):
|
|
56
56
|
'fetchOpenOrders': True,
|
57
57
|
'fetchOrderBook': True,
|
58
58
|
'fetchPosition': False,
|
59
|
+
'fetchPositionHistory': False,
|
59
60
|
'fetchPositionMode': False,
|
60
61
|
'fetchPositions': False,
|
62
|
+
'fetchPositionsForSymbol': False,
|
63
|
+
'fetchPositionsHistory': False,
|
61
64
|
'fetchPositionsRisk': False,
|
62
65
|
'fetchPremiumIndexOHLCV': False,
|
63
66
|
'fetchTicker': True,
|
@@ -153,6 +156,58 @@ class coincheck(Exchange, ImplicitAPI):
|
|
153
156
|
# 'LTC/BTC': {'id': 'ltc_btc', 'symbol': 'LTC/BTC', 'base': 'LTC', 'quote': 'BTC', 'baseId': 'ltc', 'quoteId': 'btc'},
|
154
157
|
# 'DASH/BTC': {'id': 'dash_btc', 'symbol': 'DASH/BTC', 'base': 'DASH', 'quote': 'BTC', 'baseId': 'dash', 'quoteId': 'btc'},
|
155
158
|
},
|
159
|
+
'features': {
|
160
|
+
'spot': {
|
161
|
+
'sandbox': False,
|
162
|
+
'createOrder': {
|
163
|
+
'marginMode': False,
|
164
|
+
'triggerPrice': False, # todo
|
165
|
+
'triggerPriceType': None,
|
166
|
+
'triggerDirection': False,
|
167
|
+
'stopLossPrice': False, # todo
|
168
|
+
'takeProfitPrice': False, # todo
|
169
|
+
'attachedStopLossTakeProfit': None,
|
170
|
+
'timeInForce': {
|
171
|
+
'IOC': False,
|
172
|
+
'FOK': False,
|
173
|
+
'PO': True,
|
174
|
+
'GTD': False,
|
175
|
+
},
|
176
|
+
'hedged': False,
|
177
|
+
'trailing': False,
|
178
|
+
'leverage': False,
|
179
|
+
'marketBuyByCost': False,
|
180
|
+
'marketBuyRequiresPrice': False,
|
181
|
+
'selfTradePrevention': False,
|
182
|
+
'iceberg': False,
|
183
|
+
},
|
184
|
+
'createOrders': None,
|
185
|
+
'fetchMyTrades': {
|
186
|
+
'marginMode': False,
|
187
|
+
'limit': None,
|
188
|
+
'daysBack': None,
|
189
|
+
'untilDays': None,
|
190
|
+
},
|
191
|
+
'fetchOrder': None,
|
192
|
+
'fetchOpenOrders': {
|
193
|
+
'marginMode': False,
|
194
|
+
'limit': None,
|
195
|
+
'trigger': False,
|
196
|
+
'trailing': False,
|
197
|
+
},
|
198
|
+
'fetchOrders': None,
|
199
|
+
'fetchClosedOrders': None,
|
200
|
+
'fetchOHLCV': None,
|
201
|
+
},
|
202
|
+
'swap': {
|
203
|
+
'linear': None,
|
204
|
+
'inverse': None,
|
205
|
+
},
|
206
|
+
'future': {
|
207
|
+
'linear': None,
|
208
|
+
'inverse': None,
|
209
|
+
},
|
210
|
+
},
|
156
211
|
'fees': {
|
157
212
|
'trading': {
|
158
213
|
'tierBased': False,
|
@@ -172,7 +227,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
172
227
|
})
|
173
228
|
|
174
229
|
def parse_balance(self, response) -> Balances:
|
175
|
-
result = {'info': response}
|
230
|
+
result: dict = {'info': response}
|
176
231
|
codes = list(self.currencies.keys())
|
177
232
|
for i in range(0, len(codes)):
|
178
233
|
code = codes[i]
|
@@ -189,7 +244,9 @@ class coincheck(Exchange, ImplicitAPI):
|
|
189
244
|
async def fetch_balance(self, params={}) -> Balances:
|
190
245
|
"""
|
191
246
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
192
|
-
|
247
|
+
|
248
|
+
https://coincheck.com/documents/exchange/api#order-transactions-pagination
|
249
|
+
|
193
250
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
194
251
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
195
252
|
"""
|
@@ -200,7 +257,9 @@ class coincheck(Exchange, ImplicitAPI):
|
|
200
257
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
201
258
|
"""
|
202
259
|
fetch all unfilled currently open orders
|
203
|
-
|
260
|
+
|
261
|
+
https://coincheck.com/documents/exchange/api#order-opens
|
262
|
+
|
204
263
|
:param str symbol: unified market symbol
|
205
264
|
:param int [since]: the earliest time in ms to fetch open orders for
|
206
265
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
@@ -220,7 +279,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
220
279
|
result.append(self.extend(parsedOrders[i], {'status': 'open'}))
|
221
280
|
return result
|
222
281
|
|
223
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
282
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
224
283
|
#
|
225
284
|
# fetchOpenOrders
|
226
285
|
#
|
@@ -260,7 +319,6 @@ class coincheck(Exchange, ImplicitAPI):
|
|
260
319
|
'status': status,
|
261
320
|
'symbol': symbol,
|
262
321
|
'price': price,
|
263
|
-
'stopPrice': None,
|
264
322
|
'triggerPrice': None,
|
265
323
|
'cost': None,
|
266
324
|
'fee': None,
|
@@ -272,7 +330,9 @@ class coincheck(Exchange, ImplicitAPI):
|
|
272
330
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
273
331
|
"""
|
274
332
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
275
|
-
|
333
|
+
|
334
|
+
https://coincheck.com/documents/exchange/api#order-book
|
335
|
+
|
276
336
|
:param str symbol: unified symbol of the market to fetch the order book for
|
277
337
|
:param int [limit]: the maximum amount of order book entries to return
|
278
338
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -280,13 +340,13 @@ class coincheck(Exchange, ImplicitAPI):
|
|
280
340
|
"""
|
281
341
|
await self.load_markets()
|
282
342
|
market = self.market(symbol)
|
283
|
-
request = {
|
343
|
+
request: dict = {
|
284
344
|
'pair': market['id'],
|
285
345
|
}
|
286
346
|
response = await self.publicGetOrderBooks(self.extend(request, params))
|
287
347
|
return self.parse_order_book(response, market['symbol'])
|
288
348
|
|
289
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
349
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
290
350
|
#
|
291
351
|
# {
|
292
352
|
# "last":4192632.0,
|
@@ -327,7 +387,9 @@ class coincheck(Exchange, ImplicitAPI):
|
|
327
387
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
328
388
|
"""
|
329
389
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
330
|
-
|
390
|
+
|
391
|
+
https://coincheck.com/documents/exchange/api#ticker
|
392
|
+
|
331
393
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
332
394
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
333
395
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -336,7 +398,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
336
398
|
raise BadSymbol(self.id + ' fetchTicker() supports BTC/JPY only')
|
337
399
|
await self.load_markets()
|
338
400
|
market = self.market(symbol)
|
339
|
-
request = {
|
401
|
+
request: dict = {
|
340
402
|
'pair': market['id'],
|
341
403
|
}
|
342
404
|
ticker = await self.publicGetTicker(self.extend(request, params))
|
@@ -353,7 +415,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
353
415
|
#
|
354
416
|
return self.parse_ticker(ticker, market)
|
355
417
|
|
356
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
418
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
357
419
|
#
|
358
420
|
# fetchTrades(public)
|
359
421
|
#
|
@@ -434,7 +496,9 @@ class coincheck(Exchange, ImplicitAPI):
|
|
434
496
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
435
497
|
"""
|
436
498
|
fetch all trades made by the user
|
437
|
-
|
499
|
+
|
500
|
+
https://coincheck.com/documents/exchange/api#order-transactions-pagination
|
501
|
+
|
438
502
|
:param str symbol: unified market symbol
|
439
503
|
:param int [since]: the earliest time in ms to fetch trades for
|
440
504
|
:param int [limit]: the maximum number of trades structures to retrieve
|
@@ -443,7 +507,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
443
507
|
"""
|
444
508
|
await self.load_markets()
|
445
509
|
market = self.market(symbol)
|
446
|
-
request = {}
|
510
|
+
request: dict = {}
|
447
511
|
if limit is not None:
|
448
512
|
request['limit'] = limit
|
449
513
|
response = await self.privateGetExchangeOrdersTransactionsPagination(self.extend(request, params))
|
@@ -469,13 +533,15 @@ class coincheck(Exchange, ImplicitAPI):
|
|
469
533
|
# ]
|
470
534
|
# }
|
471
535
|
#
|
472
|
-
transactions = self.
|
536
|
+
transactions = self.safe_list(response, 'data', [])
|
473
537
|
return self.parse_trades(transactions, market, since, limit)
|
474
538
|
|
475
539
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
476
540
|
"""
|
477
541
|
get the list of most recent trades for a particular symbol
|
478
|
-
|
542
|
+
|
543
|
+
https://coincheck.com/documents/exchange/api#public-trades
|
544
|
+
|
479
545
|
:param str symbol: unified symbol of the market to fetch trades for
|
480
546
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
481
547
|
:param int [limit]: the maximum amount of trades to fetch
|
@@ -484,7 +550,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
484
550
|
"""
|
485
551
|
await self.load_markets()
|
486
552
|
market = self.market(symbol)
|
487
|
-
request = {
|
553
|
+
request: dict = {
|
488
554
|
'pair': market['id'],
|
489
555
|
}
|
490
556
|
if limit is not None:
|
@@ -500,13 +566,15 @@ class coincheck(Exchange, ImplicitAPI):
|
|
500
566
|
# "created_at": "2021-12-08T14:10:33.000Z"
|
501
567
|
# }
|
502
568
|
#
|
503
|
-
data = self.
|
569
|
+
data = self.safe_list(response, 'data', [])
|
504
570
|
return self.parse_trades(data, market, since, limit)
|
505
571
|
|
506
|
-
async def fetch_trading_fees(self, params={}):
|
572
|
+
async def fetch_trading_fees(self, params={}) -> TradingFees:
|
507
573
|
"""
|
508
574
|
fetch the trading fees for multiple markets
|
509
|
-
|
575
|
+
|
576
|
+
https://coincheck.com/documents/exchange/api#account-info
|
577
|
+
|
510
578
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
511
579
|
:returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
|
512
580
|
"""
|
@@ -532,7 +600,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
532
600
|
# }
|
533
601
|
#
|
534
602
|
fees = self.safe_value(response, 'exchange_fees', {})
|
535
|
-
result = {}
|
603
|
+
result: dict = {}
|
536
604
|
for i in range(0, len(self.symbols)):
|
537
605
|
symbol = self.symbols[i]
|
538
606
|
market = self.market(symbol)
|
@@ -550,18 +618,20 @@ class coincheck(Exchange, ImplicitAPI):
|
|
550
618
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
551
619
|
"""
|
552
620
|
create a trade order
|
553
|
-
|
621
|
+
|
622
|
+
https://coincheck.com/documents/exchange/api#order-new
|
623
|
+
|
554
624
|
:param str symbol: unified symbol of the market to create an order in
|
555
625
|
:param str type: 'market' or 'limit'
|
556
626
|
:param str side: 'buy' or 'sell'
|
557
627
|
:param float amount: how much of currency you want to trade in units of base currency
|
558
|
-
:param float [price]: the price at which the order is to be
|
628
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
559
629
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
560
630
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
561
631
|
"""
|
562
632
|
await self.load_markets()
|
563
633
|
market = self.market(symbol)
|
564
|
-
request = {
|
634
|
+
request: dict = {
|
565
635
|
'pair': market['id'],
|
566
636
|
}
|
567
637
|
if type == 'market':
|
@@ -583,21 +653,32 @@ class coincheck(Exchange, ImplicitAPI):
|
|
583
653
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
584
654
|
"""
|
585
655
|
cancels an open order
|
586
|
-
|
656
|
+
|
657
|
+
https://coincheck.com/documents/exchange/api#order-cancel
|
658
|
+
|
587
659
|
:param str id: order id
|
588
660
|
:param str symbol: not used by coincheck cancelOrder()
|
589
661
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
590
662
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
591
663
|
"""
|
592
|
-
request = {
|
664
|
+
request: dict = {
|
593
665
|
'id': id,
|
594
666
|
}
|
595
|
-
|
667
|
+
response = await self.privateDeleteExchangeOrdersId(self.extend(request, params))
|
668
|
+
#
|
669
|
+
# {
|
670
|
+
# "success": True,
|
671
|
+
# "id": 12345
|
672
|
+
# }
|
673
|
+
#
|
674
|
+
return self.parse_order(response)
|
596
675
|
|
597
676
|
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
598
677
|
"""
|
599
678
|
fetch all deposits made to an account
|
600
|
-
|
679
|
+
|
680
|
+
https://coincheck.com/documents/exchange/api#account-deposits
|
681
|
+
|
601
682
|
:param str code: unified currency code
|
602
683
|
:param int [since]: the earliest time in ms to fetch deposits for
|
603
684
|
:param int [limit]: the maximum number of deposits structures to retrieve
|
@@ -606,7 +687,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
606
687
|
"""
|
607
688
|
await self.load_markets()
|
608
689
|
currency = None
|
609
|
-
request = {}
|
690
|
+
request: dict = {}
|
610
691
|
if code is not None:
|
611
692
|
currency = self.currency(code)
|
612
693
|
request['currency'] = currency['id']
|
@@ -636,13 +717,15 @@ class coincheck(Exchange, ImplicitAPI):
|
|
636
717
|
# }
|
637
718
|
# ]
|
638
719
|
# }
|
639
|
-
data = self.
|
720
|
+
data = self.safe_list(response, 'deposits', [])
|
640
721
|
return self.parse_transactions(data, currency, since, limit, {'type': 'deposit'})
|
641
722
|
|
642
723
|
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
643
724
|
"""
|
644
725
|
fetch all withdrawals made from an account
|
645
|
-
|
726
|
+
|
727
|
+
https://coincheck.com/documents/exchange/api#withdraws
|
728
|
+
|
646
729
|
:param str code: unified currency code
|
647
730
|
:param int [since]: the earliest time in ms to fetch withdrawals for
|
648
731
|
:param int [limit]: the maximum number of withdrawals structures to retrieve
|
@@ -653,7 +736,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
653
736
|
currency = None
|
654
737
|
if code is not None:
|
655
738
|
currency = self.currency(code)
|
656
|
-
request = {}
|
739
|
+
request: dict = {}
|
657
740
|
if limit is not None:
|
658
741
|
request['limit'] = limit
|
659
742
|
response = await self.privateGetWithdraws(self.extend(request, params))
|
@@ -678,11 +761,11 @@ class coincheck(Exchange, ImplicitAPI):
|
|
678
761
|
# }
|
679
762
|
# ]
|
680
763
|
# }
|
681
|
-
data = self.
|
764
|
+
data = self.safe_list(response, 'data', [])
|
682
765
|
return self.parse_transactions(data, currency, since, limit, {'type': 'withdrawal'})
|
683
766
|
|
684
|
-
def parse_transaction_status(self, status):
|
685
|
-
statuses = {
|
767
|
+
def parse_transaction_status(self, status: Str):
|
768
|
+
statuses: dict = {
|
686
769
|
# withdrawals
|
687
770
|
'pending': 'pending',
|
688
771
|
'processing': 'pending',
|
@@ -694,7 +777,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
694
777
|
}
|
695
778
|
return self.safe_string(statuses, status, status)
|
696
779
|
|
697
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
780
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
698
781
|
#
|
699
782
|
# fetchDeposits
|
700
783
|
#
|
@@ -788,7 +871,7 @@ class coincheck(Exchange, ImplicitAPI):
|
|
788
871
|
}
|
789
872
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
790
873
|
|
791
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
874
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
792
875
|
if response is None:
|
793
876
|
return None
|
794
877
|
#
|