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.

Files changed (289) hide show
  1. {bitmart-0.0.23 → bitmart-0.0.25}/PKG-INFO +13 -3
  2. {bitmart-0.0.23 → bitmart-0.0.25}/README.md +12 -2
  3. {bitmart-0.0.23 → bitmart-0.0.25}/pyproject.toml +1 -1
  4. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/__init__.py +2 -3
  5. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/abstract/bitmart.py +2 -0
  6. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/__init__.py +2 -3
  7. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/exchange.py +1 -1
  8. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/bitmart.py +70 -6
  9. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/exchange.py +34 -21
  10. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/bitmart.py +70 -6
  11. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/pro/__init__.py +2 -3
  12. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/pro/bitmart.py +9 -1
  13. {bitmart-0.0.23 → bitmart-0.0.25}/.gitignore +0 -0
  14. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/__init__.py +0 -0
  15. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/__init__.py +0 -0
  16. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/throttler.py +0 -0
  17. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/__init__.py +0 -0
  18. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  19. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/cache.py +0 -0
  20. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/client.py +0 -0
  21. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/fast_client.py +0 -0
  22. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/functions.py +0 -0
  23. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/future.py +0 -0
  24. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/order_book.py +0 -0
  25. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/async_support/base/ws/order_book_side.py +0 -0
  26. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/__init__.py +0 -0
  27. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/decimal_to_precision.py +0 -0
  28. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/errors.py +0 -0
  29. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/precise.py +0 -0
  30. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/base/types.py +0 -0
  31. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/README.md +0 -0
  32. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/__init__.py +0 -0
  33. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  34. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  35. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  36. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/der.py +0 -0
  37. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  38. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  39. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  40. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  41. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  42. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ecdsa/util.py +0 -0
  43. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  44. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  45. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  46. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  47. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  48. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  49. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  50. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  51. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  52. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  53. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  54. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  55. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  56. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  57. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  58. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  59. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  60. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  61. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  62. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  63. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  64. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  65. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  66. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  67. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  68. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  69. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  70. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  71. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  72. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  73. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  74. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  75. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  76. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  77. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  78. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  79. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  80. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  81. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  82. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  83. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  84. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  85. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  86. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  87. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  88. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  89. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  90. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  91. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  92. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  93. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  94. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  95. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  96. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  97. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  98. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  99. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  100. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  101. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  102. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  103. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  104. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  105. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/keccak/__init__.py +0 -0
  106. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/keccak/keccak.py +0 -0
  107. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/__init__.py +0 -0
  108. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  109. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  110. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  111. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/common.py +0 -0
  112. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/exceptions.py +0 -0
  113. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammar.py +0 -0
  114. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  115. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/common.lark +0 -0
  116. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/lark.lark +0 -0
  117. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/python.lark +0 -0
  118. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/grammars/unicode.lark +0 -0
  119. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/indenter.py +0 -0
  120. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/lark.py +0 -0
  121. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/lexer.py +0 -0
  122. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  123. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  124. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  125. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  126. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  127. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  128. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  129. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  130. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  131. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  132. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  133. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  134. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  135. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  136. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/py.typed +0 -0
  137. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  138. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  139. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  140. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  141. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  142. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tree.py +0 -0
  143. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  144. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  145. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/utils.py +0 -0
  146. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/lark/visitors.py +0 -0
  147. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  148. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/base.py +0 -0
  149. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  150. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  151. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  152. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  153. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  154. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  155. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  156. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  157. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/types.py +0 -0
  158. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  159. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  160. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  161. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  162. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  163. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  164. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  165. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  166. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  167. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  168. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  169. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  170. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  171. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  172. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +0 -0
  173. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/_packer.pyx +0 -0
  174. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/_unpacker.pyx +0 -0
  175. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/buff_converter.h +0 -0
  176. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  177. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/ext.py +0 -0
  178. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  179. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/pack.h +0 -0
  180. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/pack_template.h +0 -0
  181. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/sysdep.h +0 -0
  182. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/unpack.h +0 -0
  183. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/unpack_define.h +0 -0
  184. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/msgpack/unpack_template.h +0 -0
  185. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  186. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  187. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  188. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  189. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  190. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  191. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/__init__.py +0 -0
  192. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/__init__.py +0 -0
  193. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/model.py +0 -0
  194. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/parser.py +0 -0
  195. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/schemas.py +0 -0
  196. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v0/shape.py +0 -0
  197. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/__init__.py +0 -0
  198. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +0 -0
  199. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/model.py +0 -0
  200. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/parser.py +0 -0
  201. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +0 -0
  202. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/schemas.py +0 -0
  203. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v1/shape.py +0 -0
  204. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/__init__.py +0 -0
  205. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/model.py +0 -0
  206. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/parser.py +0 -0
  207. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +0 -0
  208. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/schemas.py +0 -0
  209. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/abi/v2/shape.py +0 -0
  210. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  211. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  212. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  213. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  214. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  215. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  216. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  217. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  218. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  219. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  220. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  221. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  222. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  223. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/common.py +0 -0
  224. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/constants.py +0 -0
  225. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  226. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  227. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  228. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  229. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  230. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  231. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  232. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  233. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  234. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  235. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  236. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  237. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  238. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  239. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  240. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  241. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  242. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  243. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  244. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  245. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  246. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  247. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  248. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  249. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  250. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  251. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  252. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  253. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  254. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  255. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  256. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  257. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  258. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  259. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  260. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  261. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  262. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/__init__.py +0 -0
  263. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  264. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  265. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  266. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  267. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  268. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/__init__.py +0 -0
  269. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  270. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  271. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  272. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  273. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  274. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  275. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  276. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/__init__.py +0 -0
  277. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  278. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/_version.py +0 -0
  279. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  280. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  281. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  282. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  283. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  284. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  285. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  286. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/recipes.py +0 -0
  287. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/toolz/utils.py +0 -0
  288. {bitmart-0.0.23 → bitmart-0.0.25}/src/bitmart/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  289. {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.23
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
 
@@ -11,7 +11,7 @@ only-include = ["src/bitmart"]
11
11
 
12
12
  [project]
13
13
  name = "bitmart"
14
- version = "0.0.23"
14
+ version = "0.0.25"
15
15
  authors = [
16
16
  { name="CCXT", email="info@ccxt.trade" },
17
17
  ]
@@ -26,7 +26,7 @@ sys.modules['ccxt'] = ccxt_module
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
29
- __version__ = '4.4.72'
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 = [ 'bitfinex1', 'bitmart',]
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.72'
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 = [ 'bitfinex1', 'bitmart',]
72
+ exchanges = [ 'bitmart',]
74
73
 
75
74
  base = [
76
75
  'Exchange',
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.72'
5
+ __version__ = '4.4.75'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -104,7 +104,7 @@ class bitmart(Exchange, ImplicitAPI):
104
104
  'fetchOrders': False,
105
105
  'fetchOrderTrades': True,
106
106
  'fetchPosition': True,
107
- 'fetchPositionMode': False,
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.17403093228242228",
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.find('NFT') < 0:
3851
- parts = currencyId.split('-')
3852
- currencyId = self.safe_string(parts, 0)
3853
- networkId = self.safe_string(parts, 1)
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.72'
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
- if self.safe_bool(network, 'active') is None:
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 not None:
6480
- if self.safe_string(uniqueResult, id) is None:
6481
- uniqueResult[id] = entry
6482
- else:
6483
- timestamp = self.safe_integer_2(entry, 'timestamp', 0)
6484
- if timestamp is not None:
6485
- if self.safe_string(uniqueResult, timestamp) is None:
6486
- uniqueResult[timestamp] = entry
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
- valuesLength = len(values)
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': False,
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.17403093228242228",
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.find('NFT') < 0:
3851
- parts = currencyId.split('-')
3852
- currencyId = self.safe_string(parts, 0)
3853
- networkId = self.safe_string(parts, 1)
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.72'
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 = [ 'bitfinex1', 'bitmart',]
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
- return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
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