ccxt 4.2.76__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 +25 -0
- ccxt/abstract/kucoinfutures.py +35 -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 +3513 -1511
- 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 +3105 -881
- 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 +239 -50
- ccxt/async_support/bitget.py +1513 -563
- ccxt/async_support/bithumb.py +201 -67
- 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 +403 -150
- 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 +2326 -1255
- ccxt/async_support/cex.py +1409 -1329
- ccxt/async_support/coinbase.py +1455 -288
- 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 +467 -158
- ccxt/async_support/deribit.py +558 -324
- 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 +1473 -464
- 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 +1634 -269
- 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 +1050 -355
- 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 +1777 -455
- 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 +1155 -295
- 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 +1729 -482
- 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 +3513 -1511
- ccxt/binancecoinm.py +2 -1
- ccxt/binanceus.py +12 -1
- ccxt/binanceusdm.py +3 -1
- ccxt/bingx.py +3105 -881
- 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 +239 -50
- ccxt/bitget.py +1513 -563
- ccxt/bithumb.py +200 -67
- 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 +403 -150
- ccxt/btcalpha.py +161 -55
- ccxt/btcbox.py +250 -34
- ccxt/btcmarkets.py +232 -85
- ccxt/btcturk.py +159 -60
- ccxt/bybit.py +2326 -1255
- ccxt/cex.py +1408 -1329
- ccxt/coinbase.py +1455 -288
- 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 +467 -158
- ccxt/deribit.py +558 -324
- ccxt/digifinex.py +340 -223
- ccxt/ellipx.py +1826 -0
- ccxt/exmo.py +259 -128
- ccxt/gate.py +1473 -464
- 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 +1633 -269
- 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 +1050 -355
- 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 +1777 -455
- 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 +63 -15
- 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 +204 -82
- 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 +967 -661
- 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 +168 -32
- ccxt/pro/exmo.py +253 -21
- 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 +93 -34
- ccxt/pro/poloniex.py +129 -50
- ccxt/pro/poloniexfutures.py +53 -32
- ccxt/pro/probit.py +93 -86
- 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 +486 -70
- 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} +465 -407
- ccxt/test/tests_helpers.py +285 -0
- ccxt/test/tests_init.py +39 -0
- ccxt/test/{test_sync.py → tests_sync.py} +465 -409
- 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 +1155 -295
- 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.76.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.76.dist-info/METADATA +0 -626
- ccxt-4.2.76.dist-info/RECORD +0 -534
- {ccxt-4.2.76.dist-info → ccxt-4.4.48.dist-info}/top_level.txt +0 -0
ccxt/async_support/p2b.py
CHANGED
@@ -8,11 +8,11 @@ from ccxt.abstract.p2b import ImplicitAPI
|
|
8
8
|
import hashlib
|
9
9
|
from ccxt.base.types import Int, Market, Num, Order, OrderSide, OrderType, Str, Strings, Ticker, Tickers
|
10
10
|
from typing import List
|
11
|
+
from ccxt.base.errors import AuthenticationError
|
11
12
|
from ccxt.base.errors import ArgumentsRequired
|
12
13
|
from ccxt.base.errors import BadRequest
|
13
14
|
from ccxt.base.errors import InsufficientFunds
|
14
15
|
from ccxt.base.errors import ExchangeNotAvailable
|
15
|
-
from ccxt.base.errors import AuthenticationError
|
16
16
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
17
17
|
|
18
18
|
|
@@ -83,10 +83,12 @@ class p2b(Exchange, ImplicitAPI):
|
|
83
83
|
'fetchOrderBooks': False,
|
84
84
|
'fetchOrders': True,
|
85
85
|
'fetchOrderTrades': True,
|
86
|
-
'fetchPermissions': False,
|
87
86
|
'fetchPosition': False,
|
87
|
+
'fetchPositionHistory': False,
|
88
|
+
'fetchPositionMode': False,
|
88
89
|
'fetchPositions': False,
|
89
90
|
'fetchPositionsForSymbol': False,
|
91
|
+
'fetchPositionsHistory': False,
|
90
92
|
'fetchPositionsRisk': False,
|
91
93
|
'fetchPremiumIndexOHLCV': False,
|
92
94
|
'fetchTicker': True,
|
@@ -236,10 +238,12 @@ class p2b(Exchange, ImplicitAPI):
|
|
236
238
|
},
|
237
239
|
})
|
238
240
|
|
239
|
-
async def fetch_markets(self, params={}):
|
241
|
+
async def fetch_markets(self, params={}) -> List[Market]:
|
240
242
|
"""
|
241
243
|
retrieves data on all markets for bigone
|
242
|
-
|
244
|
+
|
245
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#markets
|
246
|
+
|
243
247
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
244
248
|
:returns dict[]: an array of objects representing market data
|
245
249
|
"""
|
@@ -276,7 +280,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
276
280
|
markets = self.safe_value(response, 'result', [])
|
277
281
|
return self.parse_markets(markets)
|
278
282
|
|
279
|
-
def parse_market(self, market) -> Market:
|
283
|
+
def parse_market(self, market: dict) -> Market:
|
280
284
|
marketId = self.safe_string(market, 'name')
|
281
285
|
baseId = self.safe_string(market, 'stock')
|
282
286
|
quoteId = self.safe_string(market, 'money')
|
@@ -338,7 +342,9 @@ class p2b(Exchange, ImplicitAPI):
|
|
338
342
|
async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
|
339
343
|
"""
|
340
344
|
fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
341
|
-
|
345
|
+
|
346
|
+
https://futures-docs.poloniex.com/#get-real-time-ticker-of-all-symbols
|
347
|
+
|
342
348
|
:param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
343
349
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
344
350
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -376,14 +382,16 @@ class p2b(Exchange, ImplicitAPI):
|
|
376
382
|
async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
|
377
383
|
"""
|
378
384
|
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
379
|
-
|
385
|
+
|
386
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#ticker
|
387
|
+
|
380
388
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
381
389
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
382
390
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
383
391
|
"""
|
384
392
|
await self.load_markets()
|
385
393
|
market = self.market(symbol)
|
386
|
-
request = {
|
394
|
+
request: dict = {
|
387
395
|
'market': market['id'],
|
388
396
|
}
|
389
397
|
response = await self.publicGetTicker(self.extend(request, params))
|
@@ -476,18 +484,20 @@ class p2b(Exchange, ImplicitAPI):
|
|
476
484
|
async def fetch_order_book(self, symbol: str, limit: Int = None, params={}):
|
477
485
|
"""
|
478
486
|
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
|
479
|
-
|
487
|
+
|
488
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#depth-result
|
489
|
+
|
480
490
|
:param str symbol: unified symbol of the market to fetch the order book for
|
481
491
|
:param int [limit]: the maximum amount of order book entries to return
|
482
492
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
483
|
-
|
484
|
-
|
493
|
+
|
494
|
+
EXCHANGE SPECIFIC PARAMETERS
|
485
495
|
:param str [params.interval]: 0(default), 0.00000001, 0.0000001, 0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1, 1
|
486
496
|
:returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
|
487
497
|
"""
|
488
498
|
await self.load_markets()
|
489
499
|
market = self.market(symbol)
|
490
|
-
request = {
|
500
|
+
request: dict = {
|
491
501
|
'market': market['id'],
|
492
502
|
}
|
493
503
|
if limit is not None:
|
@@ -525,7 +535,9 @@ class p2b(Exchange, ImplicitAPI):
|
|
525
535
|
async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}):
|
526
536
|
"""
|
527
537
|
get the list of most recent trades for a particular symbol
|
528
|
-
|
538
|
+
|
539
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#history
|
540
|
+
|
529
541
|
:param str symbol: unified symbol of the market to fetch trades for
|
530
542
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
531
543
|
:param int [limit]: 1-100, default=50
|
@@ -538,7 +550,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
538
550
|
if lastId is None:
|
539
551
|
raise ArgumentsRequired(self.id + ' fetchTrades() requires an extra parameter params["lastId"]')
|
540
552
|
market = self.market(symbol)
|
541
|
-
request = {
|
553
|
+
request: dict = {
|
542
554
|
'market': market['id'],
|
543
555
|
'lastId': lastId,
|
544
556
|
}
|
@@ -564,10 +576,10 @@ class p2b(Exchange, ImplicitAPI):
|
|
564
576
|
# current_time: '1699255571.413828'
|
565
577
|
# }
|
566
578
|
#
|
567
|
-
result = self.
|
579
|
+
result = self.safe_list(response, 'result', [])
|
568
580
|
return self.parse_trades(result, market, since, limit)
|
569
581
|
|
570
|
-
def parse_trade(self, trade, market: Market = None):
|
582
|
+
def parse_trade(self, trade: dict, market: Market = None):
|
571
583
|
#
|
572
584
|
# fetchTrades
|
573
585
|
#
|
@@ -636,7 +648,9 @@ class p2b(Exchange, ImplicitAPI):
|
|
636
648
|
async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
|
637
649
|
"""
|
638
650
|
fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
639
|
-
|
651
|
+
|
652
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#kline
|
653
|
+
|
640
654
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
641
655
|
:param str timeframe: 1m, 1h, or 1d
|
642
656
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
@@ -647,7 +661,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
647
661
|
"""
|
648
662
|
await self.load_markets()
|
649
663
|
market = self.market(symbol)
|
650
|
-
request = {
|
664
|
+
request: dict = {
|
651
665
|
'market': market['id'],
|
652
666
|
'interval': timeframe,
|
653
667
|
}
|
@@ -676,7 +690,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
676
690
|
# current_time: '1699256375.030494'
|
677
691
|
# }
|
678
692
|
#
|
679
|
-
result = self.
|
693
|
+
result = self.safe_list(response, 'result', [])
|
680
694
|
return self.parse_ohlcvs(result, market, timeframe, since, limit)
|
681
695
|
|
682
696
|
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
@@ -704,7 +718,9 @@ class p2b(Exchange, ImplicitAPI):
|
|
704
718
|
async def fetch_balance(self, params={}):
|
705
719
|
"""
|
706
720
|
query for balance and get the amount of funds available for trading or funds locked in orders
|
707
|
-
|
721
|
+
|
722
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#all-balances
|
723
|
+
|
708
724
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
709
725
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
710
726
|
"""
|
@@ -743,7 +759,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
743
759
|
# }
|
744
760
|
# }
|
745
761
|
#
|
746
|
-
result = {
|
762
|
+
result: dict = {
|
747
763
|
'info': response,
|
748
764
|
}
|
749
765
|
keys = list(response.keys())
|
@@ -753,7 +769,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
753
769
|
code = self.safe_currency_code(currencyId)
|
754
770
|
used = self.safe_string(balance, 'freeze')
|
755
771
|
available = self.safe_string(balance, 'available')
|
756
|
-
account = {
|
772
|
+
account: dict = {
|
757
773
|
'free': available,
|
758
774
|
'used': used,
|
759
775
|
}
|
@@ -763,12 +779,14 @@ class p2b(Exchange, ImplicitAPI):
|
|
763
779
|
async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
|
764
780
|
"""
|
765
781
|
create a trade order
|
766
|
-
|
782
|
+
|
783
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#create-order
|
784
|
+
|
767
785
|
:param str symbol: unified symbol of the market to create an order in
|
768
786
|
:param str type: must be 'limit'
|
769
787
|
:param str side: 'buy' or 'sell'
|
770
788
|
:param float amount: how much of currency you want to trade in units of base currency
|
771
|
-
:param float price: the price at which the order is to be
|
789
|
+
:param float price: the price at which the order is to be fulfilled, in units of the quote currency
|
772
790
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
773
791
|
:returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
774
792
|
"""
|
@@ -776,7 +794,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
776
794
|
if type == 'market':
|
777
795
|
raise BadRequest(self.id + ' createOrder() can only accept orders with type "limit"')
|
778
796
|
market = self.market(symbol)
|
779
|
-
request = {
|
797
|
+
request: dict = {
|
780
798
|
'market': market['id'],
|
781
799
|
'side': side,
|
782
800
|
'amount': self.amount_to_precision(symbol, amount),
|
@@ -805,13 +823,15 @@ class p2b(Exchange, ImplicitAPI):
|
|
805
823
|
# }
|
806
824
|
# }
|
807
825
|
#
|
808
|
-
result = self.
|
826
|
+
result = self.safe_dict(response, 'result')
|
809
827
|
return self.parse_order(result, market)
|
810
828
|
|
811
829
|
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
812
830
|
"""
|
813
831
|
cancels an open order
|
814
|
-
|
832
|
+
|
833
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#cancel-order
|
834
|
+
|
815
835
|
:param str id: order id
|
816
836
|
:param str symbol: unified symbol of the market the order was made in
|
817
837
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
@@ -821,7 +841,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
821
841
|
raise ArgumentsRequired(self.id + ' cancelOrder() requires a symbol argument')
|
822
842
|
await self.load_markets()
|
823
843
|
market = self.market(symbol)
|
824
|
-
request = {
|
844
|
+
request: dict = {
|
825
845
|
'market': market['id'],
|
826
846
|
'orderId': id,
|
827
847
|
}
|
@@ -848,19 +868,21 @@ class p2b(Exchange, ImplicitAPI):
|
|
848
868
|
# }
|
849
869
|
# }
|
850
870
|
#
|
851
|
-
result = self.
|
871
|
+
result = self.safe_dict(response, 'result')
|
852
872
|
return self.parse_order(result)
|
853
873
|
|
854
874
|
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
855
875
|
"""
|
856
876
|
fetch all unfilled currently open orders
|
857
|
-
|
877
|
+
|
878
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#open-orders
|
879
|
+
|
858
880
|
:param str symbol: unified market symbol of the market orders were made in
|
859
881
|
:param int [since]: the earliest time in ms to fetch orders for
|
860
882
|
:param int [limit]: the maximum number of order structures to retrieve
|
861
883
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
862
|
-
|
863
|
-
|
884
|
+
|
885
|
+
EXCHANGE SPECIFIC PARAMETERS
|
864
886
|
:param int [params.offset]: 0-10000, default=0
|
865
887
|
:returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
866
888
|
"""
|
@@ -868,7 +890,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
868
890
|
raise ArgumentsRequired(self.id + ' fetchOpenOrders() requires the symbol argument')
|
869
891
|
await self.load_markets()
|
870
892
|
market = self.market(symbol)
|
871
|
-
request = {
|
893
|
+
request: dict = {
|
872
894
|
'market': market['id'],
|
873
895
|
}
|
874
896
|
if limit is not None:
|
@@ -899,26 +921,28 @@ class p2b(Exchange, ImplicitAPI):
|
|
899
921
|
# ]
|
900
922
|
# }
|
901
923
|
#
|
902
|
-
result = self.
|
924
|
+
result = self.safe_list(response, 'result', [])
|
903
925
|
return self.parse_orders(result, market, since, limit)
|
904
926
|
|
905
927
|
async def fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
906
928
|
"""
|
907
929
|
fetch all the trades made from a single order
|
908
|
-
|
930
|
+
|
931
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#deals-by-order-id
|
932
|
+
|
909
933
|
:param str id: order id
|
910
934
|
:param str symbol: unified market symbol
|
911
935
|
:param int [since]: the earliest time in ms to fetch trades for
|
912
936
|
:param int [limit]: 1-100, default=50
|
913
937
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
914
|
-
|
915
|
-
|
938
|
+
|
939
|
+
EXCHANGE SPECIFIC PARAMETERS
|
916
940
|
:param int [params.offset]: 0-10000, default=0
|
917
941
|
:returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
|
918
942
|
"""
|
919
943
|
await self.load_markets()
|
920
944
|
market = self.safe_market(symbol)
|
921
|
-
request = {
|
945
|
+
request: dict = {
|
922
946
|
'orderId': id,
|
923
947
|
}
|
924
948
|
if limit is not None:
|
@@ -948,20 +972,22 @@ class p2b(Exchange, ImplicitAPI):
|
|
948
972
|
# }
|
949
973
|
#
|
950
974
|
result = self.safe_value(response, 'result', {})
|
951
|
-
records = self.
|
975
|
+
records = self.safe_list(result, 'records', [])
|
952
976
|
return self.parse_trades(records, market, since, limit)
|
953
977
|
|
954
978
|
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
955
979
|
"""
|
956
980
|
fetch all trades made by the user, only the transaction records in the past 3 month can be queried, the time between since and params["until"] cannot be longer than 24 hours
|
957
|
-
|
981
|
+
|
982
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#deals-history-by-market
|
983
|
+
|
958
984
|
:param str symbol: unified market symbol of the market orders were made in
|
959
985
|
:param int [since]: the earliest time in ms to fetch orders for, default = params["until"] - 86400000
|
960
986
|
:param int [limit]: 1-100, default=50
|
961
987
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
962
988
|
:param int [params.until]: the latest time in ms to fetch orders for, default = current timestamp or since + 86400000
|
963
|
-
|
964
|
-
|
989
|
+
|
990
|
+
EXCHANGE SPECIFIC PARAMETERS
|
965
991
|
:param int [params.offset]: 0-10000, default=0
|
966
992
|
:returns Trade[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
|
967
993
|
"""
|
@@ -980,7 +1006,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
980
1006
|
if (until - since) > 86400000:
|
981
1007
|
raise BadRequest(self.id + ' fetchMyTrades() the time between since and params["until"] cannot be greater than 24 hours')
|
982
1008
|
market = self.market(symbol)
|
983
|
-
request = {
|
1009
|
+
request: dict = {
|
984
1010
|
'market': market['id'],
|
985
1011
|
'startTime': self.parse_to_int(since / 1000),
|
986
1012
|
'endTime': self.parse_to_int(until / 1000),
|
@@ -1015,20 +1041,22 @@ class p2b(Exchange, ImplicitAPI):
|
|
1015
1041
|
# }
|
1016
1042
|
#
|
1017
1043
|
result = self.safe_value(response, 'result', {})
|
1018
|
-
deals = self.
|
1044
|
+
deals = self.safe_list(result, 'deals', [])
|
1019
1045
|
return self.parse_trades(deals, market, since, limit)
|
1020
1046
|
|
1021
1047
|
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1022
1048
|
"""
|
1023
1049
|
fetches information on multiple closed orders made by the user, the time between since and params["untnil"] cannot be longer than 24 hours
|
1024
|
-
|
1050
|
+
|
1051
|
+
https://github.com/P2B-team/p2b-api-docs/blob/master/api-doc.md#orders-history-by-market
|
1052
|
+
|
1025
1053
|
:param str symbol: unified market symbol of the market orders were made in
|
1026
1054
|
:param int [since]: the earliest time in ms to fetch orders for, default = params["until"] - 86400000
|
1027
1055
|
:param int [limit]: 1-100, default=50
|
1028
1056
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1029
1057
|
:param int [params.until]: the latest time in ms to fetch orders for, default = current timestamp or since + 86400000
|
1030
|
-
|
1031
|
-
|
1058
|
+
|
1059
|
+
EXCHANGE SPECIFIC PARAMETERS
|
1032
1060
|
:param int [params.offset]: 0-10000, default=0
|
1033
1061
|
:returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
|
1034
1062
|
"""
|
@@ -1047,7 +1075,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
1047
1075
|
since = until - 86400000
|
1048
1076
|
if (until - since) > 86400000:
|
1049
1077
|
raise BadRequest(self.id + ' fetchClosedOrders() the time between since and params["until"] cannot be greater than 24 hours')
|
1050
|
-
request = {
|
1078
|
+
request: dict = {
|
1051
1079
|
'startTime': self.parse_to_int(since / 1000),
|
1052
1080
|
'endTime': self.parse_to_int(until / 1000),
|
1053
1081
|
}
|
@@ -1092,7 +1120,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
1092
1120
|
orders = self.array_concat(orders, parsedOrders)
|
1093
1121
|
return orders
|
1094
1122
|
|
1095
|
-
def parse_order(self, order, market: Market = None) -> Order:
|
1123
|
+
def parse_order(self, order: dict, market: Market = None) -> Order:
|
1096
1124
|
#
|
1097
1125
|
# cancelOrder, fetchOpenOrders, createOrder
|
1098
1126
|
#
|
@@ -1146,7 +1174,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
1146
1174
|
'postOnly': None,
|
1147
1175
|
'side': self.safe_string(order, 'side'),
|
1148
1176
|
'price': self.safe_string(order, 'price'),
|
1149
|
-
'
|
1177
|
+
'triggerPrice': None,
|
1150
1178
|
'amount': self.safe_string(order, 'amount'),
|
1151
1179
|
'cost': None,
|
1152
1180
|
'average': None,
|
@@ -1179,7 +1207,7 @@ class p2b(Exchange, ImplicitAPI):
|
|
1179
1207
|
body = self.json(params)
|
1180
1208
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1181
1209
|
|
1182
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1210
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1183
1211
|
if response is None:
|
1184
1212
|
return None
|
1185
1213
|
if code == 400:
|