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/zaif.py
CHANGED
@@ -143,9 +143,11 @@ class zaif(Exchange, ImplicitAPI):
|
|
143
143
|
},
|
144
144
|
})
|
145
145
|
|
146
|
-
def fetch_markets(self, params={}):
|
146
|
+
def fetch_markets(self, params={}) -> List[Market]:
|
147
147
|
"""
|
148
|
-
|
148
|
+
|
149
|
+
https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id12
|
150
|
+
|
149
151
|
retrieves data on all markets for zaif
|
150
152
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
151
153
|
:returns dict[]: an array of objects representing market data
|
@@ -174,7 +176,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
174
176
|
#
|
175
177
|
return self.parse_markets(markets)
|
176
178
|
|
177
|
-
def parse_market(self, market) -> Market:
|
179
|
+
def parse_market(self, market: dict) -> Market:
|
178
180
|
id = self.safe_string(market, 'currency_pair')
|
179
181
|
name = self.safe_string(market, 'name')
|
180
182
|
baseId, quoteId = name.split('/')
|
@@ -234,7 +236,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
234
236
|
def parse_balance(self, response) -> Balances:
|
235
237
|
balances = self.safe_value(response, 'return', {})
|
236
238
|
deposit = self.safe_value(balances, 'deposit')
|
237
|
-
result = {
|
239
|
+
result: dict = {
|
238
240
|
'info': response,
|
239
241
|
'timestamp': None,
|
240
242
|
'datetime': None,
|
@@ -256,7 +258,9 @@ class zaif(Exchange, ImplicitAPI):
|
|
256
258
|
|
257
259
|
def fetch_balance(self, params={}) -> Balances:
|
258
260
|
"""
|
259
|
-
|
261
|
+
|
262
|
+
https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id10
|
263
|
+
|
260
264
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
261
265
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
262
266
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
@@ -267,7 +271,9 @@ class zaif(Exchange, ImplicitAPI):
|
|
267
271
|
|
268
272
|
def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
|
269
273
|
"""
|
270
|
-
|
274
|
+
|
275
|
+
https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id34
|
276
|
+
|
271
277
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
272
278
|
:param str symbol: unified symbol of the market to fetch the order book for
|
273
279
|
:param int [limit]: the maximum amount of order book entries to return
|
@@ -276,13 +282,13 @@ class zaif(Exchange, ImplicitAPI):
|
|
276
282
|
"""
|
277
283
|
self.load_markets()
|
278
284
|
market = self.market(symbol)
|
279
|
-
request = {
|
285
|
+
request: dict = {
|
280
286
|
'pair': market['id'],
|
281
287
|
}
|
282
288
|
response = self.publicGetDepthPair(self.extend(request, params))
|
283
289
|
return self.parse_order_book(response, market['symbol'])
|
284
290
|
|
285
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
291
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
286
292
|
#
|
287
293
|
# {
|
288
294
|
# "last": 9e-08,
|
@@ -324,7 +330,9 @@ class zaif(Exchange, ImplicitAPI):
|
|
324
330
|
|
325
331
|
def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
326
332
|
"""
|
327
|
-
|
333
|
+
|
334
|
+
https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id22
|
335
|
+
|
328
336
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
329
337
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
330
338
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -332,7 +340,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
332
340
|
"""
|
333
341
|
self.load_markets()
|
334
342
|
market = self.market(symbol)
|
335
|
-
request = {
|
343
|
+
request: dict = {
|
336
344
|
'pair': market['id'],
|
337
345
|
}
|
338
346
|
ticker = self.publicGetTickerPair(self.extend(request, params))
|
@@ -349,7 +357,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
349
357
|
#
|
350
358
|
return self.parse_ticker(ticker, market)
|
351
359
|
|
352
|
-
def parse_trade(self, trade, market: Market = None) -> Trade:
|
360
|
+
def parse_trade(self, trade: dict, market: Market = None) -> Trade:
|
353
361
|
#
|
354
362
|
# fetchTrades(public)
|
355
363
|
#
|
@@ -388,7 +396,9 @@ class zaif(Exchange, ImplicitAPI):
|
|
388
396
|
|
389
397
|
def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
390
398
|
"""
|
391
|
-
|
399
|
+
|
400
|
+
https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id28
|
401
|
+
|
392
402
|
get the list of most recent trades for a particular symbol
|
393
403
|
:param str symbol: unified symbol of the market to fetch trades for
|
394
404
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
@@ -398,7 +408,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
398
408
|
"""
|
399
409
|
self.load_markets()
|
400
410
|
market = self.market(symbol)
|
401
|
-
request = {
|
411
|
+
request: dict = {
|
402
412
|
'pair': market['id'],
|
403
413
|
}
|
404
414
|
response = self.publicGetTradesPair(self.extend(request, params))
|
@@ -423,13 +433,15 @@ class zaif(Exchange, ImplicitAPI):
|
|
423
433
|
|
424
434
|
def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
425
435
|
"""
|
426
|
-
|
436
|
+
|
437
|
+
https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id23
|
438
|
+
|
427
439
|
create a trade order
|
428
440
|
:param str symbol: unified symbol of the market to create an order in
|
429
441
|
:param str type: must be 'limit'
|
430
442
|
:param str side: 'buy' or 'sell'
|
431
443
|
:param float amount: how much of currency you want to trade in units of base currency
|
432
|
-
:param float [price]: the price at which the order is to be
|
444
|
+
:param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
|
433
445
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
434
446
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
435
447
|
"""
|
@@ -437,7 +449,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
437
449
|
if type != 'limit':
|
438
450
|
raise ExchangeError(self.id + ' createOrder() allows limit orders only')
|
439
451
|
market = self.market(symbol)
|
440
|
-
request = {
|
452
|
+
request: dict = {
|
441
453
|
'currency_pair': market['id'],
|
442
454
|
'action': 'bid' if (side == 'buy') else 'ask',
|
443
455
|
'amount': amount,
|
@@ -451,19 +463,37 @@ class zaif(Exchange, ImplicitAPI):
|
|
451
463
|
|
452
464
|
def cancel_order(self, id: str, symbol: Str = None, params={}):
|
453
465
|
"""
|
454
|
-
|
466
|
+
|
467
|
+
https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id37
|
468
|
+
|
455
469
|
cancels an open order
|
456
470
|
:param str id: order id
|
457
471
|
:param str symbol: not used by zaif cancelOrder()
|
458
472
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
459
473
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
460
474
|
"""
|
461
|
-
request = {
|
475
|
+
request: dict = {
|
462
476
|
'order_id': id,
|
463
477
|
}
|
464
|
-
|
478
|
+
response = self.privatePostCancelOrder(self.extend(request, params))
|
479
|
+
#
|
480
|
+
# {
|
481
|
+
# "success": 1,
|
482
|
+
# "return": {
|
483
|
+
# "order_id": 184,
|
484
|
+
# "funds": {
|
485
|
+
# "jpy": 15320,
|
486
|
+
# "btc": 1.392,
|
487
|
+
# "mona": 2600,
|
488
|
+
# "kaori": 0.1
|
489
|
+
# }
|
490
|
+
# }
|
491
|
+
# }
|
492
|
+
#
|
493
|
+
data = self.safe_dict(response, 'return')
|
494
|
+
return self.parse_order(data)
|
465
495
|
|
466
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
496
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
467
497
|
#
|
468
498
|
# {
|
469
499
|
# "currency_pair": "btc_jpy",
|
@@ -474,6 +504,18 @@ class zaif(Exchange, ImplicitAPI):
|
|
474
504
|
# "comment" : "demo"
|
475
505
|
# }
|
476
506
|
#
|
507
|
+
# cancelOrder
|
508
|
+
#
|
509
|
+
# {
|
510
|
+
# "order_id": 184,
|
511
|
+
# "funds": {
|
512
|
+
# "jpy": 15320,
|
513
|
+
# "btc": 1.392,
|
514
|
+
# "mona": 2600,
|
515
|
+
# "kaori": 0.1
|
516
|
+
# }
|
517
|
+
# }
|
518
|
+
#
|
477
519
|
side = self.safe_string(order, 'action')
|
478
520
|
side = 'buy' if (side == 'bid') else 'sell'
|
479
521
|
timestamp = self.safe_timestamp(order, 'timestamp')
|
@@ -481,7 +523,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
481
523
|
symbol = self.safe_symbol(marketId, market, '_')
|
482
524
|
price = self.safe_string(order, 'price')
|
483
525
|
amount = self.safe_string(order, 'amount')
|
484
|
-
id = self.
|
526
|
+
id = self.safe_string_2(order, 'id', 'order_id')
|
485
527
|
return self.safe_order({
|
486
528
|
'id': id,
|
487
529
|
'clientOrderId': None,
|
@@ -495,7 +537,6 @@ class zaif(Exchange, ImplicitAPI):
|
|
495
537
|
'postOnly': None,
|
496
538
|
'side': side,
|
497
539
|
'price': price,
|
498
|
-
'stopPrice': None,
|
499
540
|
'triggerPrice': None,
|
500
541
|
'cost': None,
|
501
542
|
'amount': amount,
|
@@ -509,7 +550,9 @@ class zaif(Exchange, ImplicitAPI):
|
|
509
550
|
|
510
551
|
def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
511
552
|
"""
|
512
|
-
|
553
|
+
|
554
|
+
https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id28
|
555
|
+
|
513
556
|
fetch all unfilled currently open orders
|
514
557
|
:param str symbol: unified market symbol
|
515
558
|
:param int [since]: the earliest time in ms to fetch open orders for
|
@@ -519,7 +562,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
519
562
|
"""
|
520
563
|
self.load_markets()
|
521
564
|
market: Market = None
|
522
|
-
request = {
|
565
|
+
request: dict = {
|
523
566
|
# 'is_token': False,
|
524
567
|
# 'is_token_both': False,
|
525
568
|
}
|
@@ -531,7 +574,9 @@ class zaif(Exchange, ImplicitAPI):
|
|
531
574
|
|
532
575
|
def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
533
576
|
"""
|
534
|
-
|
577
|
+
|
578
|
+
https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id24
|
579
|
+
|
535
580
|
fetches information on multiple closed orders made by the user
|
536
581
|
:param str symbol: unified market symbol of the market orders were made in
|
537
582
|
:param int [since]: the earliest time in ms to fetch orders for
|
@@ -541,7 +586,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
541
586
|
"""
|
542
587
|
self.load_markets()
|
543
588
|
market: Market = None
|
544
|
-
request = {
|
589
|
+
request: dict = {
|
545
590
|
# 'from': 0,
|
546
591
|
# 'count': 1000,
|
547
592
|
# 'from_id': 0,
|
@@ -557,9 +602,11 @@ class zaif(Exchange, ImplicitAPI):
|
|
557
602
|
response = self.privatePostTradeHistory(self.extend(request, params))
|
558
603
|
return self.parse_orders(response['return'], market, since, limit)
|
559
604
|
|
560
|
-
def withdraw(self, code: str, amount: float, address, tag=None, params={}):
|
605
|
+
def withdraw(self, code: str, amount: float, address: str, tag=None, params={}) -> Transaction:
|
561
606
|
"""
|
562
|
-
|
607
|
+
|
608
|
+
https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id41
|
609
|
+
|
563
610
|
make a withdrawal
|
564
611
|
:param str code: unified currency code
|
565
612
|
:param float amount: the amount to withdraw
|
@@ -574,7 +621,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
574
621
|
currency = self.currency(code)
|
575
622
|
if code == 'JPY':
|
576
623
|
raise ExchangeError(self.id + ' withdraw() does not allow ' + code + ' withdrawals')
|
577
|
-
request = {
|
624
|
+
request: dict = {
|
578
625
|
'currency': currency['id'],
|
579
626
|
'amount': amount,
|
580
627
|
'address': address,
|
@@ -600,10 +647,10 @@ class zaif(Exchange, ImplicitAPI):
|
|
600
647
|
# }
|
601
648
|
# }
|
602
649
|
#
|
603
|
-
returnData = self.
|
650
|
+
returnData = self.safe_dict(result, 'return')
|
604
651
|
return self.parse_transaction(returnData, currency)
|
605
652
|
|
606
|
-
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
653
|
+
def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
|
607
654
|
#
|
608
655
|
# {
|
609
656
|
# "id": 23634,
|
@@ -649,7 +696,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
649
696
|
}
|
650
697
|
|
651
698
|
def custom_nonce(self):
|
652
|
-
num = (self.milliseconds() /
|
699
|
+
num = self.number_to_string(self.milliseconds() / 1000)
|
653
700
|
nonce = float(num)
|
654
701
|
return format(nonce, '.8f')
|
655
702
|
|
@@ -679,7 +726,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
679
726
|
}
|
680
727
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
681
728
|
|
682
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
729
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
683
730
|
if response is None:
|
684
731
|
return None
|
685
732
|
#
|