coinex-api 0.0.15__py3-none-any.whl → 0.0.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. coinex/__init__.py +7 -0
  2. coinex/ccxt/__init__.py +101 -0
  3. coinex/ccxt/abstract/coinex.py +237 -0
  4. coinex/ccxt/async_support/__init__.py +80 -0
  5. coinex/ccxt/async_support/base/__init__.py +1 -0
  6. coinex/ccxt/async_support/base/exchange.py +2100 -0
  7. coinex/ccxt/async_support/base/throttler.py +50 -0
  8. coinex/ccxt/async_support/base/ws/__init__.py +38 -0
  9. coinex/ccxt/async_support/base/ws/aiohttp_client.py +147 -0
  10. coinex/ccxt/async_support/base/ws/cache.py +213 -0
  11. coinex/ccxt/async_support/base/ws/client.py +214 -0
  12. coinex/ccxt/async_support/base/ws/fast_client.py +97 -0
  13. coinex/ccxt/async_support/base/ws/functions.py +59 -0
  14. coinex/ccxt/async_support/base/ws/future.py +69 -0
  15. coinex/ccxt/async_support/base/ws/order_book.py +78 -0
  16. coinex/ccxt/async_support/base/ws/order_book_side.py +174 -0
  17. coinex/ccxt/async_support/coinex.py +5833 -0
  18. coinex/ccxt/base/__init__.py +27 -0
  19. coinex/ccxt/base/decimal_to_precision.py +174 -0
  20. coinex/ccxt/base/errors.py +267 -0
  21. coinex/ccxt/base/exchange.py +6769 -0
  22. coinex/ccxt/base/precise.py +297 -0
  23. coinex/ccxt/base/types.py +577 -0
  24. coinex/ccxt/coinex.py +5832 -0
  25. coinex/ccxt/pro/__init__.py +21 -0
  26. coinex/ccxt/pro/coinex.py +1366 -0
  27. coinex/ccxt/static_dependencies/README.md +1 -0
  28. coinex/ccxt/static_dependencies/__init__.py +1 -0
  29. coinex/ccxt/static_dependencies/ecdsa/__init__.py +14 -0
  30. coinex/ccxt/static_dependencies/ecdsa/_version.py +520 -0
  31. coinex/ccxt/static_dependencies/ecdsa/curves.py +56 -0
  32. coinex/ccxt/static_dependencies/ecdsa/der.py +221 -0
  33. coinex/ccxt/static_dependencies/ecdsa/ecdsa.py +310 -0
  34. coinex/ccxt/static_dependencies/ecdsa/ellipticcurve.py +197 -0
  35. coinex/ccxt/static_dependencies/ecdsa/keys.py +332 -0
  36. coinex/ccxt/static_dependencies/ecdsa/numbertheory.py +531 -0
  37. coinex/ccxt/static_dependencies/ecdsa/rfc6979.py +100 -0
  38. coinex/ccxt/static_dependencies/ecdsa/util.py +266 -0
  39. coinex/ccxt/static_dependencies/ethereum/__init__.py +7 -0
  40. coinex/ccxt/static_dependencies/ethereum/abi/__init__.py +16 -0
  41. coinex/ccxt/static_dependencies/ethereum/abi/abi.py +19 -0
  42. coinex/ccxt/static_dependencies/ethereum/abi/base.py +152 -0
  43. coinex/ccxt/static_dependencies/ethereum/abi/codec.py +217 -0
  44. coinex/ccxt/static_dependencies/ethereum/abi/constants.py +3 -0
  45. coinex/ccxt/static_dependencies/ethereum/abi/decoding.py +565 -0
  46. coinex/ccxt/static_dependencies/ethereum/abi/encoding.py +720 -0
  47. coinex/ccxt/static_dependencies/ethereum/abi/exceptions.py +139 -0
  48. coinex/ccxt/static_dependencies/ethereum/abi/grammar.py +443 -0
  49. coinex/ccxt/static_dependencies/ethereum/abi/packed.py +13 -0
  50. coinex/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  51. coinex/ccxt/static_dependencies/ethereum/abi/registry.py +643 -0
  52. coinex/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +3 -0
  53. coinex/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +230 -0
  54. coinex/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  55. coinex/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +83 -0
  56. coinex/ccxt/static_dependencies/ethereum/abi/utils/padding.py +27 -0
  57. coinex/ccxt/static_dependencies/ethereum/abi/utils/string.py +19 -0
  58. coinex/ccxt/static_dependencies/ethereum/account/__init__.py +3 -0
  59. coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +4 -0
  60. coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +239 -0
  61. coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +40 -0
  62. coinex/ccxt/static_dependencies/ethereum/account/messages.py +263 -0
  63. coinex/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  64. coinex/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +5 -0
  65. coinex/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +54 -0
  66. coinex/ccxt/static_dependencies/ethereum/hexbytes/main.py +65 -0
  67. coinex/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  68. coinex/ccxt/static_dependencies/ethereum/typing/__init__.py +63 -0
  69. coinex/ccxt/static_dependencies/ethereum/typing/abi.py +6 -0
  70. coinex/ccxt/static_dependencies/ethereum/typing/bls.py +7 -0
  71. coinex/ccxt/static_dependencies/ethereum/typing/discovery.py +5 -0
  72. coinex/ccxt/static_dependencies/ethereum/typing/encoding.py +7 -0
  73. coinex/ccxt/static_dependencies/ethereum/typing/enums.py +17 -0
  74. coinex/ccxt/static_dependencies/ethereum/typing/ethpm.py +9 -0
  75. coinex/ccxt/static_dependencies/ethereum/typing/evm.py +20 -0
  76. coinex/ccxt/static_dependencies/ethereum/typing/networks.py +1122 -0
  77. coinex/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  78. coinex/ccxt/static_dependencies/ethereum/utils/__init__.py +115 -0
  79. coinex/ccxt/static_dependencies/ethereum/utils/abi.py +72 -0
  80. coinex/ccxt/static_dependencies/ethereum/utils/address.py +171 -0
  81. coinex/ccxt/static_dependencies/ethereum/utils/applicators.py +151 -0
  82. coinex/ccxt/static_dependencies/ethereum/utils/conversions.py +190 -0
  83. coinex/ccxt/static_dependencies/ethereum/utils/currency.py +107 -0
  84. coinex/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +269 -0
  85. coinex/ccxt/static_dependencies/ethereum/utils/debug.py +20 -0
  86. coinex/ccxt/static_dependencies/ethereum/utils/decorators.py +132 -0
  87. coinex/ccxt/static_dependencies/ethereum/utils/encoding.py +6 -0
  88. coinex/ccxt/static_dependencies/ethereum/utils/exceptions.py +4 -0
  89. coinex/ccxt/static_dependencies/ethereum/utils/functional.py +75 -0
  90. coinex/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +74 -0
  91. coinex/ccxt/static_dependencies/ethereum/utils/humanize.py +188 -0
  92. coinex/ccxt/static_dependencies/ethereum/utils/logging.py +159 -0
  93. coinex/ccxt/static_dependencies/ethereum/utils/module_loading.py +31 -0
  94. coinex/ccxt/static_dependencies/ethereum/utils/numeric.py +43 -0
  95. coinex/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  96. coinex/ccxt/static_dependencies/ethereum/utils/toolz.py +76 -0
  97. coinex/ccxt/static_dependencies/ethereum/utils/types.py +54 -0
  98. coinex/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +18 -0
  99. coinex/ccxt/static_dependencies/ethereum/utils/typing/misc.py +14 -0
  100. coinex/ccxt/static_dependencies/ethereum/utils/units.py +31 -0
  101. coinex/ccxt/static_dependencies/keccak/__init__.py +3 -0
  102. coinex/ccxt/static_dependencies/keccak/keccak.py +197 -0
  103. coinex/ccxt/static_dependencies/lark/__init__.py +38 -0
  104. coinex/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
  105. coinex/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
  106. coinex/ccxt/static_dependencies/lark/ast_utils.py +59 -0
  107. coinex/ccxt/static_dependencies/lark/common.py +86 -0
  108. coinex/ccxt/static_dependencies/lark/exceptions.py +292 -0
  109. coinex/ccxt/static_dependencies/lark/grammar.py +130 -0
  110. coinex/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  111. coinex/ccxt/static_dependencies/lark/grammars/common.lark +59 -0
  112. coinex/ccxt/static_dependencies/lark/grammars/lark.lark +62 -0
  113. coinex/ccxt/static_dependencies/lark/grammars/python.lark +302 -0
  114. coinex/ccxt/static_dependencies/lark/grammars/unicode.lark +7 -0
  115. coinex/ccxt/static_dependencies/lark/indenter.py +143 -0
  116. coinex/ccxt/static_dependencies/lark/lark.py +658 -0
  117. coinex/ccxt/static_dependencies/lark/lexer.py +678 -0
  118. coinex/ccxt/static_dependencies/lark/load_grammar.py +1428 -0
  119. coinex/ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
  120. coinex/ccxt/static_dependencies/lark/parser_frontends.py +257 -0
  121. coinex/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  122. coinex/ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
  123. coinex/ccxt/static_dependencies/lark/parsers/earley.py +314 -0
  124. coinex/ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
  125. coinex/ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
  126. coinex/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
  127. coinex/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
  128. coinex/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
  129. coinex/ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
  130. coinex/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
  131. coinex/ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
  132. coinex/ccxt/static_dependencies/lark/py.typed +0 -0
  133. coinex/ccxt/static_dependencies/lark/reconstruct.py +107 -0
  134. coinex/ccxt/static_dependencies/lark/tools/__init__.py +70 -0
  135. coinex/ccxt/static_dependencies/lark/tools/nearley.py +202 -0
  136. coinex/ccxt/static_dependencies/lark/tools/serialize.py +32 -0
  137. coinex/ccxt/static_dependencies/lark/tools/standalone.py +196 -0
  138. coinex/ccxt/static_dependencies/lark/tree.py +267 -0
  139. coinex/ccxt/static_dependencies/lark/tree_matcher.py +186 -0
  140. coinex/ccxt/static_dependencies/lark/tree_templates.py +180 -0
  141. coinex/ccxt/static_dependencies/lark/utils.py +343 -0
  142. coinex/ccxt/static_dependencies/lark/visitors.py +596 -0
  143. coinex/ccxt/static_dependencies/marshmallow/__init__.py +81 -0
  144. coinex/ccxt/static_dependencies/marshmallow/base.py +65 -0
  145. coinex/ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
  146. coinex/ccxt/static_dependencies/marshmallow/decorators.py +231 -0
  147. coinex/ccxt/static_dependencies/marshmallow/error_store.py +60 -0
  148. coinex/ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
  149. coinex/ccxt/static_dependencies/marshmallow/fields.py +2114 -0
  150. coinex/ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
  151. coinex/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  152. coinex/ccxt/static_dependencies/marshmallow/schema.py +1228 -0
  153. coinex/ccxt/static_dependencies/marshmallow/types.py +12 -0
  154. coinex/ccxt/static_dependencies/marshmallow/utils.py +378 -0
  155. coinex/ccxt/static_dependencies/marshmallow/validate.py +678 -0
  156. coinex/ccxt/static_dependencies/marshmallow/warnings.py +2 -0
  157. coinex/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
  158. coinex/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
  159. coinex/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
  160. coinex/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
  161. coinex/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  162. coinex/ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
  163. coinex/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
  164. coinex/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
  165. coinex/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
  166. coinex/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  167. coinex/ccxt/static_dependencies/msgpack/__init__.py +55 -0
  168. coinex/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +11 -0
  169. coinex/ccxt/static_dependencies/msgpack/_packer.pyx +374 -0
  170. coinex/ccxt/static_dependencies/msgpack/_unpacker.pyx +547 -0
  171. coinex/ccxt/static_dependencies/msgpack/buff_converter.h +8 -0
  172. coinex/ccxt/static_dependencies/msgpack/exceptions.py +48 -0
  173. coinex/ccxt/static_dependencies/msgpack/ext.py +168 -0
  174. coinex/ccxt/static_dependencies/msgpack/fallback.py +951 -0
  175. coinex/ccxt/static_dependencies/msgpack/pack.h +89 -0
  176. coinex/ccxt/static_dependencies/msgpack/pack_template.h +820 -0
  177. coinex/ccxt/static_dependencies/msgpack/sysdep.h +194 -0
  178. coinex/ccxt/static_dependencies/msgpack/unpack.h +391 -0
  179. coinex/ccxt/static_dependencies/msgpack/unpack_define.h +95 -0
  180. coinex/ccxt/static_dependencies/msgpack/unpack_template.h +464 -0
  181. coinex/ccxt/static_dependencies/parsimonious/__init__.py +10 -0
  182. coinex/ccxt/static_dependencies/parsimonious/exceptions.py +105 -0
  183. coinex/ccxt/static_dependencies/parsimonious/expressions.py +479 -0
  184. coinex/ccxt/static_dependencies/parsimonious/grammar.py +487 -0
  185. coinex/ccxt/static_dependencies/parsimonious/nodes.py +325 -0
  186. coinex/ccxt/static_dependencies/parsimonious/utils.py +40 -0
  187. coinex/ccxt/static_dependencies/starknet/__init__.py +0 -0
  188. coinex/ccxt/static_dependencies/starknet/abi/v0/__init__.py +2 -0
  189. coinex/ccxt/static_dependencies/starknet/abi/v0/model.py +44 -0
  190. coinex/ccxt/static_dependencies/starknet/abi/v0/parser.py +216 -0
  191. coinex/ccxt/static_dependencies/starknet/abi/v0/schemas.py +72 -0
  192. coinex/ccxt/static_dependencies/starknet/abi/v0/shape.py +63 -0
  193. coinex/ccxt/static_dependencies/starknet/abi/v1/__init__.py +2 -0
  194. coinex/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +14 -0
  195. coinex/ccxt/static_dependencies/starknet/abi/v1/model.py +39 -0
  196. coinex/ccxt/static_dependencies/starknet/abi/v1/parser.py +220 -0
  197. coinex/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +179 -0
  198. coinex/ccxt/static_dependencies/starknet/abi/v1/schemas.py +66 -0
  199. coinex/ccxt/static_dependencies/starknet/abi/v1/shape.py +47 -0
  200. coinex/ccxt/static_dependencies/starknet/abi/v2/__init__.py +2 -0
  201. coinex/ccxt/static_dependencies/starknet/abi/v2/model.py +89 -0
  202. coinex/ccxt/static_dependencies/starknet/abi/v2/parser.py +293 -0
  203. coinex/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +192 -0
  204. coinex/ccxt/static_dependencies/starknet/abi/v2/schemas.py +132 -0
  205. coinex/ccxt/static_dependencies/starknet/abi/v2/shape.py +107 -0
  206. coinex/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  207. coinex/ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
  208. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  209. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
  210. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
  211. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
  212. coinex/ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
  213. coinex/ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
  214. coinex/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  215. coinex/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
  216. coinex/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  217. coinex/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
  218. coinex/ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
  219. coinex/ccxt/static_dependencies/starknet/common.py +15 -0
  220. coinex/ccxt/static_dependencies/starknet/constants.py +39 -0
  221. coinex/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  222. coinex/ccxt/static_dependencies/starknet/hash/address.py +79 -0
  223. coinex/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
  224. coinex/ccxt/static_dependencies/starknet/hash/selector.py +16 -0
  225. coinex/ccxt/static_dependencies/starknet/hash/storage.py +12 -0
  226. coinex/ccxt/static_dependencies/starknet/hash/utils.py +78 -0
  227. coinex/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  228. coinex/ccxt/static_dependencies/starknet/models/typed_data.py +45 -0
  229. coinex/ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
  230. coinex/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
  231. coinex/ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
  232. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
  233. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
  234. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
  235. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
  236. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
  237. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
  238. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
  239. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
  240. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
  241. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
  242. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
  243. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
  244. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
  245. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
  246. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
  247. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
  248. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
  249. coinex/ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
  250. coinex/ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
  251. coinex/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
  252. coinex/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
  253. coinex/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  254. coinex/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
  255. coinex/ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
  256. coinex/ccxt/static_dependencies/starknet/utils/schema.py +13 -0
  257. coinex/ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
  258. coinex/ccxt/static_dependencies/starkware/__init__.py +0 -0
  259. coinex/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  260. coinex/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +50 -0
  261. coinex/ccxt/static_dependencies/starkware/crypto/math_utils.py +78 -0
  262. coinex/ccxt/static_dependencies/starkware/crypto/signature.py +2344 -0
  263. coinex/ccxt/static_dependencies/starkware/crypto/utils.py +63 -0
  264. coinex/ccxt/static_dependencies/sympy/__init__.py +0 -0
  265. coinex/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  266. coinex/ccxt/static_dependencies/sympy/core/intfunc.py +35 -0
  267. coinex/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  268. coinex/ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
  269. coinex/ccxt/static_dependencies/sympy/external/importtools.py +187 -0
  270. coinex/ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
  271. coinex/ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
  272. coinex/ccxt/static_dependencies/toolz/__init__.py +26 -0
  273. coinex/ccxt/static_dependencies/toolz/_signatures.py +784 -0
  274. coinex/ccxt/static_dependencies/toolz/_version.py +520 -0
  275. coinex/ccxt/static_dependencies/toolz/compatibility.py +30 -0
  276. coinex/ccxt/static_dependencies/toolz/curried/__init__.py +101 -0
  277. coinex/ccxt/static_dependencies/toolz/curried/exceptions.py +22 -0
  278. coinex/ccxt/static_dependencies/toolz/curried/operator.py +22 -0
  279. coinex/ccxt/static_dependencies/toolz/dicttoolz.py +339 -0
  280. coinex/ccxt/static_dependencies/toolz/functoolz.py +1049 -0
  281. coinex/ccxt/static_dependencies/toolz/itertoolz.py +1057 -0
  282. coinex/ccxt/static_dependencies/toolz/recipes.py +46 -0
  283. coinex/ccxt/static_dependencies/toolz/utils.py +9 -0
  284. coinex/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  285. coinex/ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
  286. {coinex_api-0.0.15.dist-info → coinex_api-0.0.16.dist-info}/METADATA +1 -1
  287. coinex_api-0.0.16.dist-info/RECORD +288 -0
  288. coinex_api-0.0.15.dist-info/RECORD +0 -3
  289. {coinex_api-0.0.15.dist-info → coinex_api-0.0.16.dist-info}/WHEEL +0 -0
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # MIT License
4
+ # Copyright (c) 2017 Igor Kroitor
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ from ccxt.base import errors
24
+ from ccxt.base import exchange
25
+ from ccxt.base import decimal_to_precision
26
+
27
+ __all__ = exchange.__all__ + decimal_to_precision.__all__ + errors.__all__ # noqa: F405
@@ -0,0 +1,174 @@
1
+ import decimal
2
+ import numbers
3
+ import itertools
4
+ import re
5
+
6
+ __all__ = [
7
+ 'TRUNCATE',
8
+ 'ROUND',
9
+ 'ROUND_UP',
10
+ 'ROUND_DOWN',
11
+ 'DECIMAL_PLACES',
12
+ 'SIGNIFICANT_DIGITS',
13
+ 'TICK_SIZE',
14
+ 'NO_PADDING',
15
+ 'PAD_WITH_ZERO',
16
+ 'decimal_to_precision',
17
+ ]
18
+
19
+
20
+ # rounding mode
21
+ TRUNCATE = 0
22
+ ROUND = 1
23
+ ROUND_UP = 2
24
+ ROUND_DOWN = 3
25
+
26
+ # digits counting mode
27
+ DECIMAL_PLACES = 2
28
+ SIGNIFICANT_DIGITS = 3
29
+ TICK_SIZE = 4
30
+
31
+ # padding mode
32
+ NO_PADDING = 5
33
+ PAD_WITH_ZERO = 6
34
+
35
+
36
+ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=DECIMAL_PLACES, padding_mode=NO_PADDING):
37
+ assert precision is not None
38
+ if counting_mode == TICK_SIZE:
39
+ assert(isinstance(precision, float) or isinstance(precision, decimal.Decimal) or isinstance(precision, numbers.Integral) or isinstance(precision, str))
40
+ else:
41
+ assert(isinstance(precision, numbers.Integral))
42
+ assert rounding_mode in [TRUNCATE, ROUND]
43
+ assert counting_mode in [DECIMAL_PLACES, SIGNIFICANT_DIGITS, TICK_SIZE]
44
+ assert padding_mode in [NO_PADDING, PAD_WITH_ZERO]
45
+
46
+ if isinstance(precision, str):
47
+ precision = float(precision)
48
+
49
+ context = decimal.getcontext()
50
+
51
+ if counting_mode != TICK_SIZE:
52
+ precision = min(context.prec - 2, precision)
53
+
54
+ # all default except decimal.Underflow (raised when a number is rounded to zero)
55
+ context.traps[decimal.Underflow] = True
56
+ context.rounding = decimal.ROUND_HALF_UP # rounds 0.5 away from zero
57
+
58
+ dec = decimal.Decimal(str(n))
59
+ precision_dec = decimal.Decimal(str(precision))
60
+ string = '{:f}'.format(dec) # convert to string using .format to avoid engineering notation
61
+ precise = None
62
+
63
+ def power_of_10(x):
64
+ return decimal.Decimal('10') ** (-x)
65
+
66
+ if precision < 0:
67
+ if counting_mode == TICK_SIZE:
68
+ raise ValueError('TICK_SIZE cant be used with negative numPrecisionDigits')
69
+ to_nearest = power_of_10(precision)
70
+ if rounding_mode == ROUND:
71
+ return "{:f}".format(to_nearest * decimal.Decimal(decimal_to_precision(dec / to_nearest, rounding_mode, 0, DECIMAL_PLACES, padding_mode)))
72
+ elif rounding_mode == TRUNCATE:
73
+ return decimal_to_precision(dec - dec % to_nearest, rounding_mode, 0, DECIMAL_PLACES, padding_mode)
74
+
75
+ if counting_mode == TICK_SIZE:
76
+ # python modulo with negative numbers behaves different than js/php, so use abs first
77
+ missing = abs(dec) % precision_dec
78
+ if missing != 0:
79
+ if rounding_mode == ROUND:
80
+ if dec > 0:
81
+ if missing >= precision / 2:
82
+ dec = dec - missing + precision_dec
83
+ else:
84
+ dec = dec - missing
85
+ else:
86
+ if missing >= precision / 2:
87
+ dec = dec + missing - precision_dec
88
+ else:
89
+ dec = dec + missing
90
+ elif rounding_mode == TRUNCATE:
91
+ if dec < 0:
92
+ dec = dec + missing
93
+ else:
94
+ dec = dec - missing
95
+ parts = re.sub(r'0+$', '', '{:f}'.format(precision_dec)).split('.')
96
+ if len(parts) > 1:
97
+ new_precision = len(parts[1])
98
+ else:
99
+ match = re.search(r'0+$', parts[0])
100
+ if match is None:
101
+ new_precision = 0
102
+ else:
103
+ new_precision = - len(match.group(0))
104
+ return decimal_to_precision('{:f}'.format(dec), ROUND, new_precision, DECIMAL_PLACES, padding_mode)
105
+
106
+ if rounding_mode == ROUND:
107
+ if counting_mode == DECIMAL_PLACES:
108
+ precise = '{:f}'.format(dec.quantize(power_of_10(precision))) # ROUND_HALF_EVEN is default context
109
+ elif counting_mode == SIGNIFICANT_DIGITS:
110
+ q = precision - dec.adjusted() - 1
111
+ sigfig = power_of_10(q)
112
+ if q < 0:
113
+ string_to_precision = string[:precision]
114
+ # string_to_precision is '' when we have zero precision
115
+ below = sigfig * decimal.Decimal(string_to_precision if string_to_precision else '0')
116
+ above = below + sigfig
117
+ precise = '{:f}'.format(min((below, above), key=lambda x: abs(x - dec)))
118
+ else:
119
+ precise = '{:f}'.format(dec.quantize(sigfig))
120
+ if precise == ('-0.' + len(precise) * '0')[:2] or precise == '-0':
121
+ precise = precise[1:]
122
+
123
+ elif rounding_mode == TRUNCATE:
124
+ # Slice a string
125
+ if counting_mode == DECIMAL_PLACES:
126
+ before, after = string.split('.') if '.' in string else (string, '')
127
+ precise = before + '.' + after[:precision]
128
+ elif counting_mode == SIGNIFICANT_DIGITS:
129
+ if precision == 0:
130
+ return '0'
131
+ dot = string.index('.') if '.' in string else len(string)
132
+ start = dot - dec.adjusted()
133
+ end = start + precision
134
+ # need to clarify these conditionals
135
+ if dot >= end:
136
+ end -= 1
137
+ if precision >= len(string.replace('.', '')):
138
+ precise = string
139
+ else:
140
+ precise = string[:end].ljust(dot, '0')
141
+ if precise == ('-0.' + len(precise) * '0')[:3] or precise == '-0':
142
+ precise = precise[1:]
143
+ precise = precise.rstrip('.')
144
+
145
+ if padding_mode == NO_PADDING:
146
+ return precise.rstrip('0').rstrip('.') if '.' in precise else precise
147
+ elif padding_mode == PAD_WITH_ZERO:
148
+ if '.' in precise:
149
+ if counting_mode == DECIMAL_PLACES:
150
+ before, after = precise.split('.')
151
+ return before + '.' + after.ljust(precision, '0')
152
+
153
+ elif counting_mode == SIGNIFICANT_DIGITS:
154
+ fsfg = len(list(itertools.takewhile(lambda x: x == '.' or x == '0', precise)))
155
+ if '.' in precise[fsfg:]:
156
+ precision += 1
157
+ return precise[:fsfg] + precise[fsfg:].rstrip('0').ljust(precision, '0')
158
+ else:
159
+ if counting_mode == SIGNIFICANT_DIGITS:
160
+ if precision > len(precise):
161
+ return precise + '.' + (precision - len(precise)) * '0'
162
+ elif counting_mode == DECIMAL_PLACES:
163
+ if precision > 0:
164
+ return precise + '.' + precision * '0'
165
+ return precise
166
+
167
+
168
+ def number_to_string(x):
169
+ # avoids scientific notation for too large and too small numbers
170
+ if x is None:
171
+ return None
172
+ d = decimal.Decimal(str(x))
173
+ formatted = '{:f}'.format(d)
174
+ return formatted.rstrip('0').rstrip('.') if '.' in formatted else formatted
@@ -0,0 +1,267 @@
1
+ # ----------------------------------------------------------------------------
2
+
3
+ # PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
+ # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
+ # EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
+
7
+ error_hierarchy = {
8
+ 'BaseError': {
9
+ 'ExchangeError': {
10
+ 'AuthenticationError': {
11
+ 'PermissionDenied': {
12
+ 'AccountNotEnabled': {},
13
+ },
14
+ 'AccountSuspended': {},
15
+ },
16
+ 'ArgumentsRequired': {},
17
+ 'BadRequest': {
18
+ 'BadSymbol': {},
19
+ },
20
+ 'OperationRejected': {
21
+ 'NoChange': {
22
+ 'MarginModeAlreadySet': {},
23
+ },
24
+ 'MarketClosed': {},
25
+ 'ManualInteractionNeeded': {},
26
+ },
27
+ 'InsufficientFunds': {},
28
+ 'InvalidAddress': {
29
+ 'AddressPending': {},
30
+ },
31
+ 'InvalidOrder': {
32
+ 'OrderNotFound': {},
33
+ 'OrderNotCached': {},
34
+ 'OrderImmediatelyFillable': {},
35
+ 'OrderNotFillable': {},
36
+ 'DuplicateOrderId': {},
37
+ 'ContractUnavailable': {},
38
+ },
39
+ 'NotSupported': {},
40
+ 'InvalidProxySettings': {},
41
+ 'ExchangeClosedByUser': {},
42
+ },
43
+ 'OperationFailed': {
44
+ 'NetworkError': {
45
+ 'DDoSProtection': {},
46
+ 'RateLimitExceeded': {},
47
+ 'ExchangeNotAvailable': {
48
+ 'OnMaintenance': {},
49
+ },
50
+ 'InvalidNonce': {
51
+ 'ChecksumError': {},
52
+ },
53
+ 'RequestTimeout': {},
54
+ },
55
+ 'BadResponse': {
56
+ 'NullResponse': {},
57
+ },
58
+ 'CancelPending': {},
59
+ },
60
+ 'UnsubscribeError': {},
61
+ },
62
+ }
63
+
64
+
65
+ class BaseError(Exception):
66
+ pass
67
+
68
+
69
+ class ExchangeError(BaseError):
70
+ pass
71
+
72
+
73
+ class AuthenticationError(ExchangeError):
74
+ pass
75
+
76
+
77
+ class PermissionDenied(AuthenticationError):
78
+ pass
79
+
80
+
81
+ class AccountNotEnabled(PermissionDenied):
82
+ pass
83
+
84
+
85
+ class AccountSuspended(AuthenticationError):
86
+ pass
87
+
88
+
89
+ class ArgumentsRequired(ExchangeError):
90
+ pass
91
+
92
+
93
+ class BadRequest(ExchangeError):
94
+ pass
95
+
96
+
97
+ class BadSymbol(BadRequest):
98
+ pass
99
+
100
+
101
+ class OperationRejected(ExchangeError):
102
+ pass
103
+
104
+
105
+ class NoChange(OperationRejected):
106
+ pass
107
+
108
+
109
+ class MarginModeAlreadySet(NoChange):
110
+ pass
111
+
112
+
113
+ class MarketClosed(OperationRejected):
114
+ pass
115
+
116
+
117
+ class ManualInteractionNeeded(OperationRejected):
118
+ pass
119
+
120
+
121
+ class InsufficientFunds(ExchangeError):
122
+ pass
123
+
124
+
125
+ class InvalidAddress(ExchangeError):
126
+ pass
127
+
128
+
129
+ class AddressPending(InvalidAddress):
130
+ pass
131
+
132
+
133
+ class InvalidOrder(ExchangeError):
134
+ pass
135
+
136
+
137
+ class OrderNotFound(InvalidOrder):
138
+ pass
139
+
140
+
141
+ class OrderNotCached(InvalidOrder):
142
+ pass
143
+
144
+
145
+ class OrderImmediatelyFillable(InvalidOrder):
146
+ pass
147
+
148
+
149
+ class OrderNotFillable(InvalidOrder):
150
+ pass
151
+
152
+
153
+ class DuplicateOrderId(InvalidOrder):
154
+ pass
155
+
156
+
157
+ class ContractUnavailable(InvalidOrder):
158
+ pass
159
+
160
+
161
+ class NotSupported(ExchangeError):
162
+ pass
163
+
164
+
165
+ class InvalidProxySettings(ExchangeError):
166
+ pass
167
+
168
+
169
+ class ExchangeClosedByUser(ExchangeError):
170
+ pass
171
+
172
+
173
+ class OperationFailed(BaseError):
174
+ pass
175
+
176
+
177
+ class NetworkError(OperationFailed):
178
+ pass
179
+
180
+
181
+ class DDoSProtection(NetworkError):
182
+ pass
183
+
184
+
185
+ class RateLimitExceeded(NetworkError):
186
+ pass
187
+
188
+
189
+ class ExchangeNotAvailable(NetworkError):
190
+ pass
191
+
192
+
193
+ class OnMaintenance(ExchangeNotAvailable):
194
+ pass
195
+
196
+
197
+ class InvalidNonce(NetworkError):
198
+ pass
199
+
200
+
201
+ class ChecksumError(InvalidNonce):
202
+ pass
203
+
204
+
205
+ class RequestTimeout(NetworkError):
206
+ pass
207
+
208
+
209
+ class BadResponse(OperationFailed):
210
+ pass
211
+
212
+
213
+ class NullResponse(BadResponse):
214
+ pass
215
+
216
+
217
+ class CancelPending(OperationFailed):
218
+ pass
219
+
220
+
221
+ class UnsubscribeError(BaseError):
222
+ pass
223
+
224
+
225
+ __all__ = [
226
+ 'error_hierarchy',
227
+ 'BaseError',
228
+ 'ExchangeError',
229
+ 'AuthenticationError',
230
+ 'PermissionDenied',
231
+ 'AccountNotEnabled',
232
+ 'AccountSuspended',
233
+ 'ArgumentsRequired',
234
+ 'BadRequest',
235
+ 'BadSymbol',
236
+ 'OperationRejected',
237
+ 'NoChange',
238
+ 'MarginModeAlreadySet',
239
+ 'MarketClosed',
240
+ 'ManualInteractionNeeded',
241
+ 'InsufficientFunds',
242
+ 'InvalidAddress',
243
+ 'AddressPending',
244
+ 'InvalidOrder',
245
+ 'OrderNotFound',
246
+ 'OrderNotCached',
247
+ 'OrderImmediatelyFillable',
248
+ 'OrderNotFillable',
249
+ 'DuplicateOrderId',
250
+ 'ContractUnavailable',
251
+ 'NotSupported',
252
+ 'InvalidProxySettings',
253
+ 'ExchangeClosedByUser',
254
+ 'OperationFailed',
255
+ 'NetworkError',
256
+ 'DDoSProtection',
257
+ 'RateLimitExceeded',
258
+ 'ExchangeNotAvailable',
259
+ 'OnMaintenance',
260
+ 'InvalidNonce',
261
+ 'ChecksumError',
262
+ 'RequestTimeout',
263
+ 'BadResponse',
264
+ 'NullResponse',
265
+ 'CancelPending',
266
+ 'UnsubscribeError'
267
+ ]