bitmart 0.0.23__tar.gz → 0.0.25__tar.gz
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.
Potentially problematic release.
This version of bitmart might be problematic. Click here for more details.
- {bitmart-0.0.23 → bitmart-0.0.25}/PKG-INFO +13 -3
- {bitmart-0.0.23 → bitmart-0.0.25}/README.md +12 -2
- {bitmart-0.0.23 → bitmart-0.0.25}/pyproject.toml +1 -1
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/__init__.py +2 -3
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/abstract/bitmart.py +2 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/__init__.py +2 -3
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/exchange.py +1 -1
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/bitmart.py +70 -6
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/exchange.py +34 -21
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/bitmart.py +70 -6
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/pro/__init__.py +2 -3
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/pro/bitmart.py +9 -1
- {bitmart-0.0.23 → bitmart-0.0.25}/.gitignore +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/throttler.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/cache.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/client.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/fast_client.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/functions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/future.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/order_book.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/order_book_side.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/decimal_to_precision.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/errors.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/precise.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/types.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/README.md +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/_version.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/curves.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/der.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/keys.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/util.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/keccak/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/keccak/keccak.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/ast_utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/common.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/exceptions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammar.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/common.lark +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/lark.lark +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/python.lark +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/unicode.lark +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/indenter.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/lark.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/lexer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/load_grammar.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/reconstruct.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tree.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tree_templates.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/visitors.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/base.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/fields.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/schema.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/types.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/validate.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/_packer.pyx +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/_unpacker.pyx +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/buff_converter.h +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/ext.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/fallback.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/pack.h +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/pack_template.h +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/sysdep.h +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/unpack.h +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/unpack_define.h +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/unpack_template.h +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/model.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/schemas.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/shape.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/model.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/schemas.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/shape.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/model.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/schemas.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/shape.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/common.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/constants.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/address.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/_signatures.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/_version.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/compatibility.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/functoolz.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/recipes.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/utils.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
- {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bitmart
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.25
|
|
4
4
|
Summary: bitmart crypto exchange api client
|
|
5
5
|
Project-URL: Homepage, https://github.com/ccxt/ccxt
|
|
6
6
|
Project-URL: Issues, https://github.com/ccxt/ccxt
|
|
@@ -20,8 +20,10 @@ Description-Content-Type: text/markdown
|
|
|
20
20
|
# bitmart-python
|
|
21
21
|
Python SDK (sync and async) for Bitmart cryptocurrency exchange with Rest and WS capabilities.
|
|
22
22
|
|
|
23
|
-
You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/bitmart)
|
|
24
|
-
You can check Bitmart's docs here: [Docs](https://www.google.com/search?q=google+bitmart+cryptocurrency+exchange+api+docs)
|
|
23
|
+
- You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/bitmart)
|
|
24
|
+
- You can check Bitmart's docs here: [Docs](https://www.google.com/search?q=google+bitmart+cryptocurrency+exchange+api+docs)
|
|
25
|
+
- Github repo: https://github.com/ccxt/bitmart-python
|
|
26
|
+
- Pypi package: https://pypi.org/project/bitmart
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
## Installation
|
|
@@ -44,6 +46,8 @@ def main():
|
|
|
44
46
|
#
|
|
45
47
|
# balance = instance.fetch_balance()
|
|
46
48
|
# order = instance.create_order("BTC/USDC", "limit", "buy", 1, 100000)
|
|
49
|
+
|
|
50
|
+
main()
|
|
47
51
|
```
|
|
48
52
|
|
|
49
53
|
### Async
|
|
@@ -92,6 +96,8 @@ async def main():
|
|
|
92
96
|
|
|
93
97
|
# once you are done with the exchange
|
|
94
98
|
await instance.close()
|
|
99
|
+
|
|
100
|
+
asyncio.run(main())
|
|
95
101
|
```
|
|
96
102
|
|
|
97
103
|
|
|
@@ -151,6 +157,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
151
157
|
- `fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
|
|
152
158
|
- `fetch_order(self, id: str, symbol: Str = None, params={})`
|
|
153
159
|
- `fetch_orders_by_status(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
|
|
160
|
+
- `fetch_position_mode(self, symbol: Str = None, params={})`
|
|
154
161
|
- `fetch_position(self, symbol: str, params={})`
|
|
155
162
|
- `fetch_positions(self, symbols: Strings = None, params={})`
|
|
156
163
|
- `fetch_spot_markets(self, params={})`
|
|
@@ -178,6 +185,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
178
185
|
- `nonce(self)`
|
|
179
186
|
- `repay_isolated_margin(self, symbol: str, code: str, amount, params={})`
|
|
180
187
|
- `set_leverage(self, leverage: Int, symbol: Str = None, params={})`
|
|
188
|
+
- `set_position_mode(self, hedged: bool, symbol: Str = None, params={})`
|
|
181
189
|
- `transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={})`
|
|
182
190
|
- `withdraw(self, code: str, amount: float, address: str, tag=None, params={})`
|
|
183
191
|
|
|
@@ -249,6 +257,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
249
257
|
- `private_get_contract_private_affilate_rebate_list(request)`
|
|
250
258
|
- `private_get_contract_private_affilate_trade_list(request)`
|
|
251
259
|
- `private_get_contract_private_transaction_history(request)`
|
|
260
|
+
- `private_get_contract_private_get_position_mode(request)`
|
|
252
261
|
- `private_post_account_sub_account_main_v1_sub_to_main(request)`
|
|
253
262
|
- `private_post_account_sub_account_sub_v1_sub_to_main(request)`
|
|
254
263
|
- `private_post_account_sub_account_main_v1_main_to_sub(request)`
|
|
@@ -293,6 +302,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
293
302
|
- `private_post_contract_private_modify_tp_sl_order(request)`
|
|
294
303
|
- `private_post_contract_private_submit_trail_order(request)`
|
|
295
304
|
- `private_post_contract_private_cancel_trail_order(request)`
|
|
305
|
+
- `private_post_contract_private_set_position_mode(request)`
|
|
296
306
|
|
|
297
307
|
### WS Unified
|
|
298
308
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# bitmart-python
|
|
2
2
|
Python SDK (sync and async) for Bitmart cryptocurrency exchange with Rest and WS capabilities.
|
|
3
3
|
|
|
4
|
-
You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/bitmart)
|
|
5
|
-
You can check Bitmart's docs here: [Docs](https://www.google.com/search?q=google+bitmart+cryptocurrency+exchange+api+docs)
|
|
4
|
+
- You can check the SDK docs here: [SDK](https://docs.ccxt.com/#/exchanges/bitmart)
|
|
5
|
+
- You can check Bitmart's docs here: [Docs](https://www.google.com/search?q=google+bitmart+cryptocurrency+exchange+api+docs)
|
|
6
|
+
- Github repo: https://github.com/ccxt/bitmart-python
|
|
7
|
+
- Pypi package: https://pypi.org/project/bitmart
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
## Installation
|
|
@@ -25,6 +27,8 @@ def main():
|
|
|
25
27
|
#
|
|
26
28
|
# balance = instance.fetch_balance()
|
|
27
29
|
# order = instance.create_order("BTC/USDC", "limit", "buy", 1, 100000)
|
|
30
|
+
|
|
31
|
+
main()
|
|
28
32
|
```
|
|
29
33
|
|
|
30
34
|
### Async
|
|
@@ -73,6 +77,8 @@ async def main():
|
|
|
73
77
|
|
|
74
78
|
# once you are done with the exchange
|
|
75
79
|
await instance.close()
|
|
80
|
+
|
|
81
|
+
asyncio.run(main())
|
|
76
82
|
```
|
|
77
83
|
|
|
78
84
|
|
|
@@ -132,6 +138,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
132
138
|
- `fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
|
|
133
139
|
- `fetch_order(self, id: str, symbol: Str = None, params={})`
|
|
134
140
|
- `fetch_orders_by_status(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={})`
|
|
141
|
+
- `fetch_position_mode(self, symbol: Str = None, params={})`
|
|
135
142
|
- `fetch_position(self, symbol: str, params={})`
|
|
136
143
|
- `fetch_positions(self, symbols: Strings = None, params={})`
|
|
137
144
|
- `fetch_spot_markets(self, params={})`
|
|
@@ -159,6 +166,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
159
166
|
- `nonce(self)`
|
|
160
167
|
- `repay_isolated_margin(self, symbol: str, code: str, amount, params={})`
|
|
161
168
|
- `set_leverage(self, leverage: Int, symbol: Str = None, params={})`
|
|
169
|
+
- `set_position_mode(self, hedged: bool, symbol: Str = None, params={})`
|
|
162
170
|
- `transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={})`
|
|
163
171
|
- `withdraw(self, code: str, amount: float, address: str, tag=None, params={})`
|
|
164
172
|
|
|
@@ -230,6 +238,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
230
238
|
- `private_get_contract_private_affilate_rebate_list(request)`
|
|
231
239
|
- `private_get_contract_private_affilate_trade_list(request)`
|
|
232
240
|
- `private_get_contract_private_transaction_history(request)`
|
|
241
|
+
- `private_get_contract_private_get_position_mode(request)`
|
|
233
242
|
- `private_post_account_sub_account_main_v1_sub_to_main(request)`
|
|
234
243
|
- `private_post_account_sub_account_sub_v1_sub_to_main(request)`
|
|
235
244
|
- `private_post_account_sub_account_main_v1_main_to_sub(request)`
|
|
@@ -274,6 +283,7 @@ You can also construct custom requests to available "implicit" endpoints
|
|
|
274
283
|
- `private_post_contract_private_modify_tp_sl_order(request)`
|
|
275
284
|
- `private_post_contract_private_submit_trail_order(request)`
|
|
276
285
|
- `private_post_contract_private_cancel_trail_order(request)`
|
|
286
|
+
- `private_post_contract_private_set_position_mode(request)`
|
|
277
287
|
|
|
278
288
|
### WS Unified
|
|
279
289
|
|
|
@@ -26,7 +26,7 @@ sys.modules['ccxt'] = ccxt_module
|
|
|
26
26
|
|
|
27
27
|
# ----------------------------------------------------------------------------
|
|
28
28
|
|
|
29
|
-
__version__ = '4.4.
|
|
29
|
+
__version__ = '4.4.75'
|
|
30
30
|
|
|
31
31
|
# ----------------------------------------------------------------------------
|
|
32
32
|
|
|
@@ -87,10 +87,9 @@ from ccxt.base.errors import CancelPending # noqa: F4
|
|
|
87
87
|
from ccxt.base.errors import UnsubscribeError # noqa: F401
|
|
88
88
|
from ccxt.base.errors import error_hierarchy # noqa: F401
|
|
89
89
|
|
|
90
|
-
from ccxt.bitfinex1 import bitfinex1 # noqa: F401
|
|
91
90
|
from ccxt.bitmart import bitmart # noqa: F401
|
|
92
91
|
|
|
93
|
-
exchanges = [ '
|
|
92
|
+
exchanges = [ 'bitmart',]
|
|
94
93
|
|
|
95
94
|
base = [
|
|
96
95
|
'Exchange',
|
|
@@ -68,6 +68,7 @@ class ImplicitAPI:
|
|
|
68
68
|
private_get_contract_private_affilate_rebate_list = privateGetContractPrivateAffilateRebateList = Entry('contract/private/affilate/rebate-list', 'private', 'GET', {'cost': 10})
|
|
69
69
|
private_get_contract_private_affilate_trade_list = privateGetContractPrivateAffilateTradeList = Entry('contract/private/affilate/trade-list', 'private', 'GET', {'cost': 10})
|
|
70
70
|
private_get_contract_private_transaction_history = privateGetContractPrivateTransactionHistory = Entry('contract/private/transaction-history', 'private', 'GET', {'cost': 10})
|
|
71
|
+
private_get_contract_private_get_position_mode = privateGetContractPrivateGetPositionMode = Entry('contract/private/get-position-mode', 'private', 'GET', {'cost': 1})
|
|
71
72
|
private_post_account_sub_account_main_v1_sub_to_main = privatePostAccountSubAccountMainV1SubToMain = Entry('account/sub-account/main/v1/sub-to-main', 'private', 'POST', {'cost': 30})
|
|
72
73
|
private_post_account_sub_account_sub_v1_sub_to_main = privatePostAccountSubAccountSubV1SubToMain = Entry('account/sub-account/sub/v1/sub-to-main', 'private', 'POST', {'cost': 30})
|
|
73
74
|
private_post_account_sub_account_main_v1_main_to_sub = privatePostAccountSubAccountMainV1MainToSub = Entry('account/sub-account/main/v1/main-to-sub', 'private', 'POST', {'cost': 30})
|
|
@@ -112,3 +113,4 @@ class ImplicitAPI:
|
|
|
112
113
|
private_post_contract_private_modify_tp_sl_order = privatePostContractPrivateModifyTpSlOrder = Entry('contract/private/modify-tp-sl-order', 'private', 'POST', {'cost': 2.5})
|
|
113
114
|
private_post_contract_private_submit_trail_order = privatePostContractPrivateSubmitTrailOrder = Entry('contract/private/submit-trail-order', 'private', 'POST', {'cost': 2.5})
|
|
114
115
|
private_post_contract_private_cancel_trail_order = privatePostContractPrivateCancelTrailOrder = Entry('contract/private/cancel-trail-order', 'private', 'POST', {'cost': 1.5})
|
|
116
|
+
private_post_contract_private_set_position_mode = privatePostContractPrivateSetPositionMode = Entry('contract/private/set-position-mode', 'private', 'POST', {'cost': 1})
|
|
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
|
|
|
8
8
|
|
|
9
9
|
# -----------------------------------------------------------------------------
|
|
10
10
|
|
|
11
|
-
__version__ = '4.4.
|
|
11
|
+
__version__ = '4.4.75'
|
|
12
12
|
|
|
13
13
|
# -----------------------------------------------------------------------------
|
|
14
14
|
|
|
@@ -67,10 +67,9 @@ from ccxt.base.errors import UnsubscribeError # noqa: F4
|
|
|
67
67
|
from ccxt.base.errors import error_hierarchy # noqa: F401
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
from ccxt.async_support.bitfinex1 import bitfinex1 # noqa: F401
|
|
71
70
|
from ccxt.async_support.bitmart import bitmart # noqa: F401
|
|
72
71
|
|
|
73
|
-
exchanges = [ '
|
|
72
|
+
exchanges = [ 'bitmart',]
|
|
74
73
|
|
|
75
74
|
base = [
|
|
76
75
|
'Exchange',
|
|
@@ -104,7 +104,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
104
104
|
'fetchOrders': False,
|
|
105
105
|
'fetchOrderTrades': True,
|
|
106
106
|
'fetchPosition': True,
|
|
107
|
-
'fetchPositionMode':
|
|
107
|
+
'fetchPositionMode': True,
|
|
108
108
|
'fetchPositions': True,
|
|
109
109
|
'fetchStatus': True,
|
|
110
110
|
'fetchTicker': True,
|
|
@@ -126,6 +126,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
126
126
|
'repayIsolatedMargin': True,
|
|
127
127
|
'setLeverage': True,
|
|
128
128
|
'setMarginMode': False,
|
|
129
|
+
'setPositionMode': True,
|
|
129
130
|
'transfer': True,
|
|
130
131
|
'withdraw': True,
|
|
131
132
|
},
|
|
@@ -231,6 +232,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
231
232
|
'contract/private/affilate/rebate-list': 10,
|
|
232
233
|
'contract/private/affilate/trade-list': 10,
|
|
233
234
|
'contract/private/transaction-history': 10,
|
|
235
|
+
'contract/private/get-position-mode': 1,
|
|
234
236
|
},
|
|
235
237
|
'post': {
|
|
236
238
|
# sub-account endpoints
|
|
@@ -283,6 +285,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
283
285
|
'contract/private/modify-tp-sl-order': 2.5,
|
|
284
286
|
'contract/private/submit-trail-order': 2.5, # weight is not provided by the exchange, is set order
|
|
285
287
|
'contract/private/cancel-trail-order': 1.5, # weight is not provided by the exchange, is set order
|
|
288
|
+
'contract/private/set-position-mode': 1,
|
|
286
289
|
},
|
|
287
290
|
},
|
|
288
291
|
},
|
|
@@ -1205,7 +1208,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
1205
1208
|
# {
|
|
1206
1209
|
# "message": "OK",
|
|
1207
1210
|
# "code": 1000,
|
|
1208
|
-
# "trace": "619294ecef584282b26a3be322b1e01f.66.
|
|
1211
|
+
# "trace": "619294ecef584282b26a3be322b1e01f.66.17403093228242229",
|
|
1209
1212
|
# "data": {
|
|
1210
1213
|
# "currencies": [
|
|
1211
1214
|
# {
|
|
@@ -3847,10 +3850,11 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
3847
3850
|
timestamp = self.safe_integer(transaction, 'apply_time')
|
|
3848
3851
|
currencyId = self.safe_string(transaction, 'currency')
|
|
3849
3852
|
networkId: Str = None
|
|
3850
|
-
if currencyId
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3853
|
+
if currencyId is not None:
|
|
3854
|
+
if currencyId.find('NFT') < 0:
|
|
3855
|
+
parts = currencyId.split('-')
|
|
3856
|
+
currencyId = self.safe_string(parts, 0)
|
|
3857
|
+
networkId = self.safe_string(parts, 1)
|
|
3854
3858
|
code = self.safe_currency_code(currencyId, currency)
|
|
3855
3859
|
status = self.parse_transaction_status(self.safe_string(transaction, 'status'))
|
|
3856
3860
|
feeCost = self.safe_number(transaction, 'fee')
|
|
@@ -5212,6 +5216,66 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
5212
5216
|
addresses.append(address)
|
|
5213
5217
|
return addresses
|
|
5214
5218
|
|
|
5219
|
+
async def set_position_mode(self, hedged: bool, symbol: Str = None, params={}):
|
|
5220
|
+
"""
|
|
5221
|
+
set hedged to True or False for a market
|
|
5222
|
+
|
|
5223
|
+
https://developer-pro.bitmart.com/en/futuresv2/#submit-leverage-signed
|
|
5224
|
+
|
|
5225
|
+
:param bool hedged: set to True to use dualSidePosition
|
|
5226
|
+
:param str symbol: not used by bingx setPositionMode()
|
|
5227
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
5228
|
+
:returns dict: response from the exchange
|
|
5229
|
+
"""
|
|
5230
|
+
await self.load_markets()
|
|
5231
|
+
positionMode = None
|
|
5232
|
+
if hedged:
|
|
5233
|
+
positionMode = 'hedge_mode'
|
|
5234
|
+
else:
|
|
5235
|
+
positionMode = 'one_way_mode'
|
|
5236
|
+
request: dict = {
|
|
5237
|
+
'position_mode': positionMode,
|
|
5238
|
+
}
|
|
5239
|
+
#
|
|
5240
|
+
# {
|
|
5241
|
+
# "code": 1000,
|
|
5242
|
+
# "trace": "0cc6f4c4-8b8c-4253-8e90-8d3195aa109c",
|
|
5243
|
+
# "message": "Ok",
|
|
5244
|
+
# "data": {
|
|
5245
|
+
# "position_mode":"one_way_mode"
|
|
5246
|
+
# }
|
|
5247
|
+
# }
|
|
5248
|
+
#
|
|
5249
|
+
return await self.privatePostContractPrivateSetPositionMode(self.extend(request, params))
|
|
5250
|
+
|
|
5251
|
+
async def fetch_position_mode(self, symbol: Str = None, params={}):
|
|
5252
|
+
"""
|
|
5253
|
+
fetchs the position mode, hedged or one way, hedged for binance is set identically for all linear markets or all inverse markets
|
|
5254
|
+
|
|
5255
|
+
https://developer-pro.bitmart.com/en/futuresv2/#get-position-mode-keyed
|
|
5256
|
+
|
|
5257
|
+
:param str symbol: not used
|
|
5258
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
5259
|
+
:returns dict: an object detailing whether the market is in hedged or one-way mode
|
|
5260
|
+
"""
|
|
5261
|
+
response = await self.privateGetContractPrivateGetPositionMode(params)
|
|
5262
|
+
#
|
|
5263
|
+
# {
|
|
5264
|
+
# "code": 1000,
|
|
5265
|
+
# "trace": "0cc6f4c4-8b8c-4253-8e90-8d3195aa109c",
|
|
5266
|
+
# "message": "Ok",
|
|
5267
|
+
# "data": {
|
|
5268
|
+
# "position_mode":"one_way_mode"
|
|
5269
|
+
# }
|
|
5270
|
+
# }
|
|
5271
|
+
#
|
|
5272
|
+
data = self.safe_dict(response, 'data')
|
|
5273
|
+
positionMode = self.safe_string(data, 'position_mode')
|
|
5274
|
+
return {
|
|
5275
|
+
'info': response,
|
|
5276
|
+
'hedged': (positionMode == 'hedge_mode'),
|
|
5277
|
+
}
|
|
5278
|
+
|
|
5215
5279
|
def nonce(self):
|
|
5216
5280
|
return self.milliseconds() - self.options['timeDifference']
|
|
5217
5281
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# -----------------------------------------------------------------------------
|
|
6
6
|
|
|
7
|
-
__version__ = '4.4.
|
|
7
|
+
__version__ = '4.4.75'
|
|
8
8
|
|
|
9
9
|
# -----------------------------------------------------------------------------
|
|
10
10
|
|
|
@@ -2913,9 +2913,6 @@ class Exchange(object):
|
|
|
2913
2913
|
|
|
2914
2914
|
def safe_currency_structure(self, currency: object):
|
|
2915
2915
|
# derive data from networks: deposit, withdraw, active, fee, limits, precision
|
|
2916
|
-
currencyDeposit = self.safe_bool(currency, 'deposit')
|
|
2917
|
-
currencyWithdraw = self.safe_bool(currency, 'withdraw')
|
|
2918
|
-
currencyActive = self.safe_bool(currency, 'active')
|
|
2919
2916
|
networks = self.safe_dict(currency, 'networks', {})
|
|
2920
2917
|
keys = list(networks.keys())
|
|
2921
2918
|
length = len(keys)
|
|
@@ -2924,20 +2921,24 @@ class Exchange(object):
|
|
|
2924
2921
|
key = keys[i]
|
|
2925
2922
|
network = networks[key]
|
|
2926
2923
|
deposit = self.safe_bool(network, 'deposit')
|
|
2924
|
+
currencyDeposit = self.safe_bool(currency, 'deposit')
|
|
2927
2925
|
if currencyDeposit is None or deposit:
|
|
2928
2926
|
currency['deposit'] = deposit
|
|
2929
2927
|
withdraw = self.safe_bool(network, 'withdraw')
|
|
2928
|
+
currencyWithdraw = self.safe_bool(currency, 'withdraw')
|
|
2930
2929
|
if currencyWithdraw is None or withdraw:
|
|
2931
2930
|
currency['withdraw'] = withdraw
|
|
2932
|
-
active = self.safe_bool(network, 'active')
|
|
2933
|
-
if currencyActive is None or active:
|
|
2934
|
-
currency['active'] = active
|
|
2935
2931
|
# set network 'active' to False if D or W is disabled
|
|
2936
|
-
|
|
2932
|
+
active = self.safe_bool(network, 'active')
|
|
2933
|
+
if active is None:
|
|
2937
2934
|
if deposit and withdraw:
|
|
2938
2935
|
currency['networks'][key]['active'] = True
|
|
2939
2936
|
elif deposit is not None and withdraw is not None:
|
|
2940
2937
|
currency['networks'][key]['active'] = False
|
|
2938
|
+
active = self.safe_bool(network, 'active')
|
|
2939
|
+
currencyActive = self.safe_bool(currency, 'active')
|
|
2940
|
+
if currencyActive is None or active:
|
|
2941
|
+
currency['active'] = active
|
|
2941
2942
|
# find lowest fee(which is more desired)
|
|
2942
2943
|
fee = self.safe_string(network, 'fee')
|
|
2943
2944
|
feeMain = self.safe_string(currency, 'fee')
|
|
@@ -6471,24 +6472,36 @@ class Exchange(object):
|
|
|
6471
6472
|
return self.sort_by(result, 'id', True)
|
|
6472
6473
|
return result
|
|
6473
6474
|
|
|
6474
|
-
def remove_repeated_elements_from_array(self, input):
|
|
6475
|
+
def remove_repeated_elements_from_array(self, input, fallbackToTimestamp: bool = True):
|
|
6476
|
+
uniqueDic = {}
|
|
6477
|
+
uniqueResult = []
|
|
6478
|
+
for i in range(0, len(input)):
|
|
6479
|
+
entry = input[i]
|
|
6480
|
+
uniqValue = self.safe_string_n(entry, ['id', 'timestamp', 0]) if fallbackToTimestamp else self.safe_string(entry, 'id')
|
|
6481
|
+
if uniqValue is not None and not (uniqValue in uniqueDic):
|
|
6482
|
+
uniqueDic[uniqValue] = 1
|
|
6483
|
+
uniqueResult.append(entry)
|
|
6484
|
+
valuesLength = len(uniqueResult)
|
|
6485
|
+
if valuesLength > 0:
|
|
6486
|
+
return uniqueResult
|
|
6487
|
+
return input
|
|
6488
|
+
|
|
6489
|
+
def remove_repeated_trades_from_array(self, input):
|
|
6475
6490
|
uniqueResult = {}
|
|
6476
6491
|
for i in range(0, len(input)):
|
|
6477
6492
|
entry = input[i]
|
|
6478
6493
|
id = self.safe_string(entry, 'id')
|
|
6479
|
-
if id is
|
|
6480
|
-
|
|
6481
|
-
|
|
6482
|
-
|
|
6483
|
-
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6494
|
+
if id is None:
|
|
6495
|
+
price = self.safe_string(entry, 'price')
|
|
6496
|
+
amount = self.safe_string(entry, 'amount')
|
|
6497
|
+
timestamp = self.safe_string(entry, 'timestamp')
|
|
6498
|
+
side = self.safe_string(entry, 'side')
|
|
6499
|
+
# unique trade identifier
|
|
6500
|
+
id = 't_' + str(timestamp) + '_' + side + '_' + price + '_' + amount
|
|
6501
|
+
if id is not None and not (id in uniqueResult):
|
|
6502
|
+
uniqueResult[id] = entry
|
|
6487
6503
|
values = list(uniqueResult.values())
|
|
6488
|
-
|
|
6489
|
-
if valuesLength > 0:
|
|
6490
|
-
return values
|
|
6491
|
-
return input
|
|
6504
|
+
return values
|
|
6492
6505
|
|
|
6493
6506
|
def handle_until_option(self, key: str, request, params, multiplier=1):
|
|
6494
6507
|
until = self.safe_integer_2(params, 'until', 'till')
|
|
@@ -104,7 +104,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
104
104
|
'fetchOrders': False,
|
|
105
105
|
'fetchOrderTrades': True,
|
|
106
106
|
'fetchPosition': True,
|
|
107
|
-
'fetchPositionMode':
|
|
107
|
+
'fetchPositionMode': True,
|
|
108
108
|
'fetchPositions': True,
|
|
109
109
|
'fetchStatus': True,
|
|
110
110
|
'fetchTicker': True,
|
|
@@ -126,6 +126,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
126
126
|
'repayIsolatedMargin': True,
|
|
127
127
|
'setLeverage': True,
|
|
128
128
|
'setMarginMode': False,
|
|
129
|
+
'setPositionMode': True,
|
|
129
130
|
'transfer': True,
|
|
130
131
|
'withdraw': True,
|
|
131
132
|
},
|
|
@@ -231,6 +232,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
231
232
|
'contract/private/affilate/rebate-list': 10,
|
|
232
233
|
'contract/private/affilate/trade-list': 10,
|
|
233
234
|
'contract/private/transaction-history': 10,
|
|
235
|
+
'contract/private/get-position-mode': 1,
|
|
234
236
|
},
|
|
235
237
|
'post': {
|
|
236
238
|
# sub-account endpoints
|
|
@@ -283,6 +285,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
283
285
|
'contract/private/modify-tp-sl-order': 2.5,
|
|
284
286
|
'contract/private/submit-trail-order': 2.5, # weight is not provided by the exchange, is set order
|
|
285
287
|
'contract/private/cancel-trail-order': 1.5, # weight is not provided by the exchange, is set order
|
|
288
|
+
'contract/private/set-position-mode': 1,
|
|
286
289
|
},
|
|
287
290
|
},
|
|
288
291
|
},
|
|
@@ -1205,7 +1208,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
1205
1208
|
# {
|
|
1206
1209
|
# "message": "OK",
|
|
1207
1210
|
# "code": 1000,
|
|
1208
|
-
# "trace": "619294ecef584282b26a3be322b1e01f.66.
|
|
1211
|
+
# "trace": "619294ecef584282b26a3be322b1e01f.66.17403093228242229",
|
|
1209
1212
|
# "data": {
|
|
1210
1213
|
# "currencies": [
|
|
1211
1214
|
# {
|
|
@@ -3847,10 +3850,11 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
3847
3850
|
timestamp = self.safe_integer(transaction, 'apply_time')
|
|
3848
3851
|
currencyId = self.safe_string(transaction, 'currency')
|
|
3849
3852
|
networkId: Str = None
|
|
3850
|
-
if currencyId
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3853
|
+
if currencyId is not None:
|
|
3854
|
+
if currencyId.find('NFT') < 0:
|
|
3855
|
+
parts = currencyId.split('-')
|
|
3856
|
+
currencyId = self.safe_string(parts, 0)
|
|
3857
|
+
networkId = self.safe_string(parts, 1)
|
|
3854
3858
|
code = self.safe_currency_code(currencyId, currency)
|
|
3855
3859
|
status = self.parse_transaction_status(self.safe_string(transaction, 'status'))
|
|
3856
3860
|
feeCost = self.safe_number(transaction, 'fee')
|
|
@@ -5212,6 +5216,66 @@ class bitmart(Exchange, ImplicitAPI):
|
|
|
5212
5216
|
addresses.append(address)
|
|
5213
5217
|
return addresses
|
|
5214
5218
|
|
|
5219
|
+
def set_position_mode(self, hedged: bool, symbol: Str = None, params={}):
|
|
5220
|
+
"""
|
|
5221
|
+
set hedged to True or False for a market
|
|
5222
|
+
|
|
5223
|
+
https://developer-pro.bitmart.com/en/futuresv2/#submit-leverage-signed
|
|
5224
|
+
|
|
5225
|
+
:param bool hedged: set to True to use dualSidePosition
|
|
5226
|
+
:param str symbol: not used by bingx setPositionMode()
|
|
5227
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
5228
|
+
:returns dict: response from the exchange
|
|
5229
|
+
"""
|
|
5230
|
+
self.load_markets()
|
|
5231
|
+
positionMode = None
|
|
5232
|
+
if hedged:
|
|
5233
|
+
positionMode = 'hedge_mode'
|
|
5234
|
+
else:
|
|
5235
|
+
positionMode = 'one_way_mode'
|
|
5236
|
+
request: dict = {
|
|
5237
|
+
'position_mode': positionMode,
|
|
5238
|
+
}
|
|
5239
|
+
#
|
|
5240
|
+
# {
|
|
5241
|
+
# "code": 1000,
|
|
5242
|
+
# "trace": "0cc6f4c4-8b8c-4253-8e90-8d3195aa109c",
|
|
5243
|
+
# "message": "Ok",
|
|
5244
|
+
# "data": {
|
|
5245
|
+
# "position_mode":"one_way_mode"
|
|
5246
|
+
# }
|
|
5247
|
+
# }
|
|
5248
|
+
#
|
|
5249
|
+
return self.privatePostContractPrivateSetPositionMode(self.extend(request, params))
|
|
5250
|
+
|
|
5251
|
+
def fetch_position_mode(self, symbol: Str = None, params={}):
|
|
5252
|
+
"""
|
|
5253
|
+
fetchs the position mode, hedged or one way, hedged for binance is set identically for all linear markets or all inverse markets
|
|
5254
|
+
|
|
5255
|
+
https://developer-pro.bitmart.com/en/futuresv2/#get-position-mode-keyed
|
|
5256
|
+
|
|
5257
|
+
:param str symbol: not used
|
|
5258
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
|
5259
|
+
:returns dict: an object detailing whether the market is in hedged or one-way mode
|
|
5260
|
+
"""
|
|
5261
|
+
response = self.privateGetContractPrivateGetPositionMode(params)
|
|
5262
|
+
#
|
|
5263
|
+
# {
|
|
5264
|
+
# "code": 1000,
|
|
5265
|
+
# "trace": "0cc6f4c4-8b8c-4253-8e90-8d3195aa109c",
|
|
5266
|
+
# "message": "Ok",
|
|
5267
|
+
# "data": {
|
|
5268
|
+
# "position_mode":"one_way_mode"
|
|
5269
|
+
# }
|
|
5270
|
+
# }
|
|
5271
|
+
#
|
|
5272
|
+
data = self.safe_dict(response, 'data')
|
|
5273
|
+
positionMode = self.safe_string(data, 'position_mode')
|
|
5274
|
+
return {
|
|
5275
|
+
'info': response,
|
|
5276
|
+
'hedged': (positionMode == 'hedge_mode'),
|
|
5277
|
+
}
|
|
5278
|
+
|
|
5215
5279
|
def nonce(self):
|
|
5216
5280
|
return self.milliseconds() - self.options['timeDifference']
|
|
5217
5281
|
|
|
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
|
|
|
8
8
|
|
|
9
9
|
# ----------------------------------------------------------------------------
|
|
10
10
|
|
|
11
|
-
__version__ = '4.4.
|
|
11
|
+
__version__ = '4.4.75'
|
|
12
12
|
|
|
13
13
|
# ----------------------------------------------------------------------------
|
|
14
14
|
|
|
@@ -16,7 +16,6 @@ from ccxt.async_support.base.exchange import Exchange # noqa: F401
|
|
|
16
16
|
|
|
17
17
|
# CCXT Pro exchanges (now this is mainly used for importing exchanges in WS tests)
|
|
18
18
|
|
|
19
|
-
from ccxt.pro.bitfinex1 import bitfinex1 # noqa: F401
|
|
20
19
|
from ccxt.pro.bitmart import bitmart # noqa: F401
|
|
21
20
|
|
|
22
|
-
exchanges = [ '
|
|
21
|
+
exchanges = [ 'bitmart',]
|
|
@@ -74,6 +74,9 @@ class bitmart(bitmartAsync):
|
|
|
74
74
|
'watchOrderBookForSymbols': {
|
|
75
75
|
'depth': 'depth/increase100',
|
|
76
76
|
},
|
|
77
|
+
'watchTrades': {
|
|
78
|
+
'ignoreDuplicates': True,
|
|
79
|
+
},
|
|
77
80
|
'ws': {
|
|
78
81
|
'inflate': True,
|
|
79
82
|
},
|
|
@@ -302,7 +305,12 @@ class bitmart(bitmartAsync):
|
|
|
302
305
|
first = self.safe_dict(trades, 0)
|
|
303
306
|
tradeSymbol = self.safe_string(first, 'symbol')
|
|
304
307
|
limit = trades.getLimit(tradeSymbol, limit)
|
|
305
|
-
|
|
308
|
+
result = self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
|
|
309
|
+
if self.handle_option('watchTrades', 'ignoreDuplicates', True):
|
|
310
|
+
filtered = self.remove_repeated_trades_from_array(result)
|
|
311
|
+
filtered = self.sort_by(filtered, 'timestamp')
|
|
312
|
+
return filtered
|
|
313
|
+
return result
|
|
306
314
|
|
|
307
315
|
def get_params_for_multiple_sub(self, methodName: str, symbols: List[str], limit: Int = None, params={}):
|
|
308
316
|
symbols = self.market_symbols(symbols, None, False, True)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|