coinex-api 0.0.7__py3-none-any.whl → 0.0.8__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_api-0.0.7.dist-info → coinex_api-0.0.8.dist-info}/METADATA +33 -14
  2. coinex_api-0.0.8.dist-info/RECORD +3 -0
  3. coinex_api/__init__.py +0 -7
  4. coinex_api/ccxt/__init__.py +0 -101
  5. coinex_api/ccxt/abstract/coinex.py +0 -237
  6. coinex_api/ccxt/async_support/__init__.py +0 -80
  7. coinex_api/ccxt/async_support/base/__init__.py +0 -1
  8. coinex_api/ccxt/async_support/base/exchange.py +0 -2100
  9. coinex_api/ccxt/async_support/base/throttler.py +0 -50
  10. coinex_api/ccxt/async_support/base/ws/__init__.py +0 -38
  11. coinex_api/ccxt/async_support/base/ws/aiohttp_client.py +0 -147
  12. coinex_api/ccxt/async_support/base/ws/cache.py +0 -213
  13. coinex_api/ccxt/async_support/base/ws/client.py +0 -214
  14. coinex_api/ccxt/async_support/base/ws/fast_client.py +0 -97
  15. coinex_api/ccxt/async_support/base/ws/functions.py +0 -59
  16. coinex_api/ccxt/async_support/base/ws/future.py +0 -69
  17. coinex_api/ccxt/async_support/base/ws/order_book.py +0 -78
  18. coinex_api/ccxt/async_support/base/ws/order_book_side.py +0 -174
  19. coinex_api/ccxt/async_support/coinex.py +0 -5833
  20. coinex_api/ccxt/base/__init__.py +0 -27
  21. coinex_api/ccxt/base/decimal_to_precision.py +0 -174
  22. coinex_api/ccxt/base/errors.py +0 -267
  23. coinex_api/ccxt/base/exchange.py +0 -6770
  24. coinex_api/ccxt/base/precise.py +0 -297
  25. coinex_api/ccxt/base/types.py +0 -577
  26. coinex_api/ccxt/coinex.py +0 -5832
  27. coinex_api/ccxt/pro/__init__.py +0 -21
  28. coinex_api/ccxt/pro/coinex.py +0 -1366
  29. coinex_api/ccxt/static_dependencies/README.md +0 -1
  30. coinex_api/ccxt/static_dependencies/__init__.py +0 -1
  31. coinex_api/ccxt/static_dependencies/ecdsa/__init__.py +0 -14
  32. coinex_api/ccxt/static_dependencies/ecdsa/_version.py +0 -520
  33. coinex_api/ccxt/static_dependencies/ecdsa/curves.py +0 -56
  34. coinex_api/ccxt/static_dependencies/ecdsa/der.py +0 -221
  35. coinex_api/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -310
  36. coinex_api/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -197
  37. coinex_api/ccxt/static_dependencies/ecdsa/keys.py +0 -332
  38. coinex_api/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -531
  39. coinex_api/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -100
  40. coinex_api/ccxt/static_dependencies/ecdsa/util.py +0 -266
  41. coinex_api/ccxt/static_dependencies/ethereum/__init__.py +0 -7
  42. coinex_api/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -16
  43. coinex_api/ccxt/static_dependencies/ethereum/abi/abi.py +0 -19
  44. coinex_api/ccxt/static_dependencies/ethereum/abi/base.py +0 -152
  45. coinex_api/ccxt/static_dependencies/ethereum/abi/codec.py +0 -217
  46. coinex_api/ccxt/static_dependencies/ethereum/abi/constants.py +0 -3
  47. coinex_api/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -565
  48. coinex_api/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -720
  49. coinex_api/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -139
  50. coinex_api/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -443
  51. coinex_api/ccxt/static_dependencies/ethereum/abi/packed.py +0 -13
  52. coinex_api/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  53. coinex_api/ccxt/static_dependencies/ethereum/abi/registry.py +0 -643
  54. coinex_api/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -3
  55. coinex_api/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -230
  56. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  57. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -83
  58. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -27
  59. coinex_api/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -19
  60. coinex_api/ccxt/static_dependencies/ethereum/account/__init__.py +0 -3
  61. coinex_api/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -4
  62. coinex_api/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -239
  63. coinex_api/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -40
  64. coinex_api/ccxt/static_dependencies/ethereum/account/messages.py +0 -263
  65. coinex_api/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  66. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -5
  67. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -54
  68. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -65
  69. coinex_api/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  70. coinex_api/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -63
  71. coinex_api/ccxt/static_dependencies/ethereum/typing/abi.py +0 -6
  72. coinex_api/ccxt/static_dependencies/ethereum/typing/bls.py +0 -7
  73. coinex_api/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -5
  74. coinex_api/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -7
  75. coinex_api/ccxt/static_dependencies/ethereum/typing/enums.py +0 -17
  76. coinex_api/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -9
  77. coinex_api/ccxt/static_dependencies/ethereum/typing/evm.py +0 -20
  78. coinex_api/ccxt/static_dependencies/ethereum/typing/networks.py +0 -1122
  79. coinex_api/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  80. coinex_api/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -115
  81. coinex_api/ccxt/static_dependencies/ethereum/utils/abi.py +0 -72
  82. coinex_api/ccxt/static_dependencies/ethereum/utils/address.py +0 -171
  83. coinex_api/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -151
  84. coinex_api/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -190
  85. coinex_api/ccxt/static_dependencies/ethereum/utils/currency.py +0 -107
  86. coinex_api/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -269
  87. coinex_api/ccxt/static_dependencies/ethereum/utils/debug.py +0 -20
  88. coinex_api/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -132
  89. coinex_api/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -6
  90. coinex_api/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -4
  91. coinex_api/ccxt/static_dependencies/ethereum/utils/functional.py +0 -75
  92. coinex_api/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -74
  93. coinex_api/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -188
  94. coinex_api/ccxt/static_dependencies/ethereum/utils/logging.py +0 -159
  95. coinex_api/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -31
  96. coinex_api/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -43
  97. coinex_api/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  98. coinex_api/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -76
  99. coinex_api/ccxt/static_dependencies/ethereum/utils/types.py +0 -54
  100. coinex_api/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -18
  101. coinex_api/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -14
  102. coinex_api/ccxt/static_dependencies/ethereum/utils/units.py +0 -31
  103. coinex_api/ccxt/static_dependencies/keccak/__init__.py +0 -3
  104. coinex_api/ccxt/static_dependencies/keccak/keccak.py +0 -197
  105. coinex_api/ccxt/static_dependencies/lark/__init__.py +0 -38
  106. coinex_api/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -6
  107. coinex_api/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -14
  108. coinex_api/ccxt/static_dependencies/lark/ast_utils.py +0 -59
  109. coinex_api/ccxt/static_dependencies/lark/common.py +0 -86
  110. coinex_api/ccxt/static_dependencies/lark/exceptions.py +0 -292
  111. coinex_api/ccxt/static_dependencies/lark/grammar.py +0 -130
  112. coinex_api/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  113. coinex_api/ccxt/static_dependencies/lark/grammars/common.lark +0 -59
  114. coinex_api/ccxt/static_dependencies/lark/grammars/lark.lark +0 -62
  115. coinex_api/ccxt/static_dependencies/lark/grammars/python.lark +0 -302
  116. coinex_api/ccxt/static_dependencies/lark/grammars/unicode.lark +0 -7
  117. coinex_api/ccxt/static_dependencies/lark/indenter.py +0 -143
  118. coinex_api/ccxt/static_dependencies/lark/lark.py +0 -658
  119. coinex_api/ccxt/static_dependencies/lark/lexer.py +0 -678
  120. coinex_api/ccxt/static_dependencies/lark/load_grammar.py +0 -1428
  121. coinex_api/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -391
  122. coinex_api/ccxt/static_dependencies/lark/parser_frontends.py +0 -257
  123. coinex_api/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  124. coinex_api/ccxt/static_dependencies/lark/parsers/cyk.py +0 -340
  125. coinex_api/ccxt/static_dependencies/lark/parsers/earley.py +0 -314
  126. coinex_api/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -42
  127. coinex_api/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -801
  128. coinex_api/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -203
  129. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -332
  130. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -158
  131. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -122
  132. coinex_api/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -110
  133. coinex_api/ccxt/static_dependencies/lark/parsers/xearley.py +0 -165
  134. coinex_api/ccxt/static_dependencies/lark/py.typed +0 -0
  135. coinex_api/ccxt/static_dependencies/lark/reconstruct.py +0 -107
  136. coinex_api/ccxt/static_dependencies/lark/tools/__init__.py +0 -70
  137. coinex_api/ccxt/static_dependencies/lark/tools/nearley.py +0 -202
  138. coinex_api/ccxt/static_dependencies/lark/tools/serialize.py +0 -32
  139. coinex_api/ccxt/static_dependencies/lark/tools/standalone.py +0 -196
  140. coinex_api/ccxt/static_dependencies/lark/tree.py +0 -267
  141. coinex_api/ccxt/static_dependencies/lark/tree_matcher.py +0 -186
  142. coinex_api/ccxt/static_dependencies/lark/tree_templates.py +0 -180
  143. coinex_api/ccxt/static_dependencies/lark/utils.py +0 -343
  144. coinex_api/ccxt/static_dependencies/lark/visitors.py +0 -596
  145. coinex_api/ccxt/static_dependencies/marshmallow/__init__.py +0 -81
  146. coinex_api/ccxt/static_dependencies/marshmallow/base.py +0 -65
  147. coinex_api/ccxt/static_dependencies/marshmallow/class_registry.py +0 -94
  148. coinex_api/ccxt/static_dependencies/marshmallow/decorators.py +0 -231
  149. coinex_api/ccxt/static_dependencies/marshmallow/error_store.py +0 -60
  150. coinex_api/ccxt/static_dependencies/marshmallow/exceptions.py +0 -71
  151. coinex_api/ccxt/static_dependencies/marshmallow/fields.py +0 -2114
  152. coinex_api/ccxt/static_dependencies/marshmallow/orderedset.py +0 -89
  153. coinex_api/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  154. coinex_api/ccxt/static_dependencies/marshmallow/schema.py +0 -1228
  155. coinex_api/ccxt/static_dependencies/marshmallow/types.py +0 -12
  156. coinex_api/ccxt/static_dependencies/marshmallow/utils.py +0 -378
  157. coinex_api/ccxt/static_dependencies/marshmallow/validate.py +0 -678
  158. coinex_api/ccxt/static_dependencies/marshmallow/warnings.py +0 -2
  159. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -1047
  160. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -51
  161. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -45
  162. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -71
  163. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  164. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -14
  165. coinex_api/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -82
  166. coinex_api/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -1
  167. coinex_api/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -193
  168. coinex_api/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  169. coinex_api/ccxt/static_dependencies/msgpack/__init__.py +0 -55
  170. coinex_api/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +0 -11
  171. coinex_api/ccxt/static_dependencies/msgpack/_packer.pyx +0 -374
  172. coinex_api/ccxt/static_dependencies/msgpack/_unpacker.pyx +0 -547
  173. coinex_api/ccxt/static_dependencies/msgpack/buff_converter.h +0 -8
  174. coinex_api/ccxt/static_dependencies/msgpack/exceptions.py +0 -48
  175. coinex_api/ccxt/static_dependencies/msgpack/ext.py +0 -168
  176. coinex_api/ccxt/static_dependencies/msgpack/fallback.py +0 -951
  177. coinex_api/ccxt/static_dependencies/msgpack/pack.h +0 -89
  178. coinex_api/ccxt/static_dependencies/msgpack/pack_template.h +0 -820
  179. coinex_api/ccxt/static_dependencies/msgpack/sysdep.h +0 -194
  180. coinex_api/ccxt/static_dependencies/msgpack/unpack.h +0 -391
  181. coinex_api/ccxt/static_dependencies/msgpack/unpack_define.h +0 -95
  182. coinex_api/ccxt/static_dependencies/msgpack/unpack_template.h +0 -464
  183. coinex_api/ccxt/static_dependencies/parsimonious/__init__.py +0 -10
  184. coinex_api/ccxt/static_dependencies/parsimonious/exceptions.py +0 -105
  185. coinex_api/ccxt/static_dependencies/parsimonious/expressions.py +0 -479
  186. coinex_api/ccxt/static_dependencies/parsimonious/grammar.py +0 -487
  187. coinex_api/ccxt/static_dependencies/parsimonious/nodes.py +0 -325
  188. coinex_api/ccxt/static_dependencies/parsimonious/utils.py +0 -40
  189. coinex_api/ccxt/static_dependencies/starknet/__init__.py +0 -0
  190. coinex_api/ccxt/static_dependencies/starknet/abi/v0/__init__.py +0 -2
  191. coinex_api/ccxt/static_dependencies/starknet/abi/v0/model.py +0 -44
  192. coinex_api/ccxt/static_dependencies/starknet/abi/v0/parser.py +0 -216
  193. coinex_api/ccxt/static_dependencies/starknet/abi/v0/schemas.py +0 -72
  194. coinex_api/ccxt/static_dependencies/starknet/abi/v0/shape.py +0 -63
  195. coinex_api/ccxt/static_dependencies/starknet/abi/v1/__init__.py +0 -2
  196. coinex_api/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +0 -14
  197. coinex_api/ccxt/static_dependencies/starknet/abi/v1/model.py +0 -39
  198. coinex_api/ccxt/static_dependencies/starknet/abi/v1/parser.py +0 -220
  199. coinex_api/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +0 -179
  200. coinex_api/ccxt/static_dependencies/starknet/abi/v1/schemas.py +0 -66
  201. coinex_api/ccxt/static_dependencies/starknet/abi/v1/shape.py +0 -47
  202. coinex_api/ccxt/static_dependencies/starknet/abi/v2/__init__.py +0 -2
  203. coinex_api/ccxt/static_dependencies/starknet/abi/v2/model.py +0 -89
  204. coinex_api/ccxt/static_dependencies/starknet/abi/v2/parser.py +0 -293
  205. coinex_api/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +0 -192
  206. coinex_api/ccxt/static_dependencies/starknet/abi/v2/schemas.py +0 -132
  207. coinex_api/ccxt/static_dependencies/starknet/abi/v2/shape.py +0 -107
  208. coinex_api/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  209. coinex_api/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -123
  210. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  211. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -77
  212. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -46
  213. coinex_api/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -138
  214. coinex_api/ccxt/static_dependencies/starknet/cairo/felt.py +0 -64
  215. coinex_api/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -121
  216. coinex_api/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  217. coinex_api/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -59
  218. coinex_api/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  219. coinex_api/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -77
  220. coinex_api/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -7
  221. coinex_api/ccxt/static_dependencies/starknet/common.py +0 -15
  222. coinex_api/ccxt/static_dependencies/starknet/constants.py +0 -39
  223. coinex_api/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  224. coinex_api/ccxt/static_dependencies/starknet/hash/address.py +0 -79
  225. coinex_api/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -111
  226. coinex_api/ccxt/static_dependencies/starknet/hash/selector.py +0 -16
  227. coinex_api/ccxt/static_dependencies/starknet/hash/storage.py +0 -12
  228. coinex_api/ccxt/static_dependencies/starknet/hash/utils.py +0 -78
  229. coinex_api/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  230. coinex_api/ccxt/static_dependencies/starknet/models/typed_data.py +0 -45
  231. coinex_api/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -24
  232. coinex_api/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -40
  233. coinex_api/ccxt/static_dependencies/starknet/serialization/_context.py +0 -142
  234. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -10
  235. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -82
  236. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -43
  237. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -37
  238. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -66
  239. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -71
  240. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -71
  241. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -50
  242. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -58
  243. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -43
  244. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -40
  245. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -72
  246. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -36
  247. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -36
  248. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -76
  249. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -100
  250. coinex_api/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -32
  251. coinex_api/ccxt/static_dependencies/starknet/serialization/errors.py +0 -10
  252. coinex_api/ccxt/static_dependencies/starknet/serialization/factory.py +0 -229
  253. coinex_api/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -110
  254. coinex_api/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -59
  255. coinex_api/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  256. coinex_api/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -86
  257. coinex_api/ccxt/static_dependencies/starknet/utils/iterable.py +0 -13
  258. coinex_api/ccxt/static_dependencies/starknet/utils/schema.py +0 -13
  259. coinex_api/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -182
  260. coinex_api/ccxt/static_dependencies/starkware/__init__.py +0 -0
  261. coinex_api/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  262. coinex_api/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -50
  263. coinex_api/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -78
  264. coinex_api/ccxt/static_dependencies/starkware/crypto/signature.py +0 -2344
  265. coinex_api/ccxt/static_dependencies/starkware/crypto/utils.py +0 -63
  266. coinex_api/ccxt/static_dependencies/sympy/__init__.py +0 -0
  267. coinex_api/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  268. coinex_api/ccxt/static_dependencies/sympy/core/intfunc.py +0 -35
  269. coinex_api/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  270. coinex_api/ccxt/static_dependencies/sympy/external/gmpy.py +0 -345
  271. coinex_api/ccxt/static_dependencies/sympy/external/importtools.py +0 -187
  272. coinex_api/ccxt/static_dependencies/sympy/external/ntheory.py +0 -637
  273. coinex_api/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -341
  274. coinex_api/ccxt/static_dependencies/toolz/__init__.py +0 -26
  275. coinex_api/ccxt/static_dependencies/toolz/_signatures.py +0 -784
  276. coinex_api/ccxt/static_dependencies/toolz/_version.py +0 -520
  277. coinex_api/ccxt/static_dependencies/toolz/compatibility.py +0 -30
  278. coinex_api/ccxt/static_dependencies/toolz/curried/__init__.py +0 -101
  279. coinex_api/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -22
  280. coinex_api/ccxt/static_dependencies/toolz/curried/operator.py +0 -22
  281. coinex_api/ccxt/static_dependencies/toolz/dicttoolz.py +0 -339
  282. coinex_api/ccxt/static_dependencies/toolz/functoolz.py +0 -1049
  283. coinex_api/ccxt/static_dependencies/toolz/itertoolz.py +0 -1057
  284. coinex_api/ccxt/static_dependencies/toolz/recipes.py +0 -46
  285. coinex_api/ccxt/static_dependencies/toolz/utils.py +0 -9
  286. coinex_api/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  287. coinex_api/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -851
  288. coinex_api-0.0.7.dist-info/RECORD +0 -288
  289. {coinex_api-0.0.7.dist-info → coinex_api-0.0.8.dist-info}/WHEEL +0 -0
@@ -1,47 +0,0 @@
1
- from typing import List, Literal, Optional, TypedDict, Union
2
-
3
- ENUM_ENTRY = "enum"
4
- STRUCT_ENTRY = "struct"
5
- FUNCTION_ENTRY = "function"
6
- EVENT_ENTRY = "event"
7
-
8
-
9
- class TypeDict(TypedDict):
10
- type: str
11
-
12
-
13
- class TypedParameterDict(TypeDict):
14
- name: str
15
-
16
-
17
- class StructDict(TypedDict):
18
- type: Literal["struct"]
19
- name: str
20
- members: List[TypedParameterDict]
21
-
22
-
23
- class FunctionBaseDict(TypedDict):
24
- name: str
25
- inputs: List[TypedParameterDict]
26
- outputs: List[TypeDict]
27
- state_mutability: Optional[Literal["external", "view"]]
28
-
29
-
30
- class FunctionDict(FunctionBaseDict):
31
- type: Literal["function"]
32
-
33
-
34
- class EventDict(TypedDict):
35
- name: str
36
- type: Literal["event"]
37
- inputs: List[TypedParameterDict]
38
-
39
-
40
- class EnumDict(TypedDict):
41
- type: Literal["enum"]
42
- name: str
43
- variants: List[TypedParameterDict]
44
-
45
-
46
- AbiDictEntry = Union[StructDict, FunctionDict, EventDict, EnumDict]
47
- AbiDictList = List[AbiDictEntry]
@@ -1,2 +0,0 @@
1
- from .model import Abi
2
- from .parser import AbiParser, AbiParsingError
@@ -1,89 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from dataclasses import dataclass
4
- from typing import Dict, List, Optional, OrderedDict, Union
5
-
6
- from ...cairo.data_types import CairoType, EnumType, EventType, StructType
7
-
8
-
9
- @dataclass
10
- class Abi:
11
- """
12
- Dataclass representing class abi. Contains parsed functions, enums, events and structures.
13
- """
14
-
15
- # pylint: disable=too-many-instance-attributes
16
-
17
- @dataclass
18
- class Function:
19
- """
20
- Dataclass representing function's abi.
21
- """
22
-
23
- name: str
24
- inputs: OrderedDict[str, CairoType]
25
- outputs: List[CairoType]
26
-
27
- @dataclass
28
- class Constructor:
29
- """
30
- Dataclass representing constructor's abi.
31
- """
32
-
33
- name: str
34
- inputs: OrderedDict[str, CairoType]
35
-
36
- @dataclass
37
- class EventStruct:
38
- """
39
- Dataclass representing struct event's abi.
40
- """
41
-
42
- name: str
43
- members: OrderedDict[str, CairoType]
44
-
45
- @dataclass
46
- class EventEnum:
47
- """
48
- Dataclass representing enum event's abi.
49
- """
50
-
51
- name: str
52
- variants: OrderedDict[str, CairoType]
53
-
54
- Event = Union[EventStruct, EventEnum]
55
-
56
- @dataclass
57
- class Interface:
58
- """
59
- Dataclass representing an interface.
60
- """
61
-
62
- name: str
63
- items: OrderedDict[
64
- str, Abi.Function
65
- ] # Only functions can be defined in the interface
66
-
67
- @dataclass
68
- class Impl:
69
- """
70
- Dataclass representing an impl.
71
- """
72
-
73
- name: str
74
- interface_name: str
75
-
76
- defined_structures: Dict[
77
- str, StructType
78
- ] #: Abi of structures defined by the class.
79
- defined_enums: Dict[str, EnumType] #: Abi of enums defined by the class.
80
- functions: Dict[str, Function] #: Functions defined by the class.
81
- events: Dict[str, EventType] #: Events defined by the class
82
- constructor: Optional[
83
- Constructor
84
- ] #: Contract's constructor. It is None if class doesn't define one.
85
- l1_handler: Optional[
86
- Dict[str, Function]
87
- ] #: Handlers of L1 messages. It is None if class doesn't define one.
88
- interfaces: Dict[str, Interface]
89
- implementations: Dict[str, Impl]
@@ -1,293 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import dataclasses
4
- import json
5
- from collections import OrderedDict, defaultdict
6
- from typing import DefaultDict, Dict, List, Optional, Tuple, TypeVar, Union, cast
7
-
8
- from ....marshmallow import EXCLUDE
9
-
10
- from .model import Abi
11
- from .schemas import ContractAbiEntrySchema
12
- from .shape import (
13
- CONSTRUCTOR_ENTRY,
14
- ENUM_ENTRY,
15
- EVENT_ENTRY,
16
- FUNCTION_ENTRY,
17
- IMPL_ENTRY,
18
- INTERFACE_ENTRY,
19
- L1_HANDLER_ENTRY,
20
- STRUCT_ENTRY,
21
- ConstructorDict,
22
- EventDict,
23
- EventEnumVariantDict,
24
- EventStructMemberDict,
25
- FunctionDict,
26
- ImplDict,
27
- InterfaceDict,
28
- TypedParameterDict,
29
- )
30
- from ...cairo.data_types import CairoType, EnumType, EventType, StructType
31
- from ...cairo.v2.type_parser import TypeParser
32
-
33
-
34
- class AbiParsingError(ValueError):
35
- """
36
- Error raised when something wrong goes during abi parsing.
37
- """
38
-
39
-
40
- class AbiParser:
41
- """
42
- Utility class for parsing abi into a dataclass.
43
- """
44
-
45
- # Entries from ABI grouped by entry type
46
- _grouped: DefaultDict[str, List[Dict]]
47
- # lazy init property
48
- _type_parser: Optional[TypeParser] = None
49
-
50
- def __init__(self, abi_list: List[Dict]):
51
- """
52
- Abi parser constructor. Ensures that abi satisfies the abi schema.
53
-
54
- :param abi_list: Contract's ABI as a list of dictionaries.
55
- """
56
- abi = [
57
- ContractAbiEntrySchema().load(entry, unknown=EXCLUDE) for entry in abi_list
58
- ]
59
- grouped = defaultdict(list)
60
- for entry in abi:
61
- assert isinstance(entry, dict)
62
- grouped[entry["type"]].append(entry)
63
-
64
- self._grouped = grouped
65
-
66
- def parse(self) -> Abi:
67
- """
68
- Parse abi provided to constructor and return it as a dataclass. Ensures that there are no cycles in the abi.
69
-
70
- :raises: AbiParsingError: on any parsing error.
71
- :return: Abi dataclass.
72
- """
73
- structures, enums = self._parse_structures_and_enums()
74
- events_dict = cast(
75
- Dict[str, EventDict],
76
- AbiParser._group_by_entry_name(
77
- self._grouped[EVENT_ENTRY], "defined events"
78
- ),
79
- )
80
-
81
- events: Dict[str, EventType] = {}
82
- for name, event in events_dict.items():
83
- events[name] = self._parse_event(event)
84
- assert self._type_parser is not None
85
- self._type_parser.add_defined_type(events[name])
86
-
87
- functions_dict = cast(
88
- Dict[str, FunctionDict],
89
- AbiParser._group_by_entry_name(
90
- self._grouped[FUNCTION_ENTRY], "defined functions"
91
- ),
92
- )
93
- interfaces_dict = cast(
94
- Dict[str, InterfaceDict],
95
- AbiParser._group_by_entry_name(
96
- self._grouped[INTERFACE_ENTRY], "defined interfaces"
97
- ),
98
- )
99
- impls_dict = cast(
100
- Dict[str, ImplDict],
101
- AbiParser._group_by_entry_name(self._grouped[IMPL_ENTRY], "defined impls"),
102
- )
103
- l1_handlers_dict = cast(
104
- Dict[str, FunctionDict],
105
- AbiParser._group_by_entry_name(
106
- self._grouped[L1_HANDLER_ENTRY], "defined L1 handlers"
107
- ),
108
- )
109
- constructors = self._grouped[CONSTRUCTOR_ENTRY]
110
-
111
- if len(constructors) > 1:
112
- raise AbiParsingError("Constructor in ABI must be defined at most once.")
113
-
114
- return Abi(
115
- defined_structures=structures,
116
- defined_enums=enums,
117
- constructor=(
118
- self._parse_constructor(cast(ConstructorDict, constructors[0]))
119
- if constructors
120
- else None
121
- ),
122
- l1_handler={
123
- name: self._parse_function(entry)
124
- for name, entry in l1_handlers_dict.items()
125
- },
126
- functions={
127
- name: self._parse_function(entry)
128
- for name, entry in functions_dict.items()
129
- },
130
- events=events,
131
- interfaces={
132
- name: self._parse_interface(entry)
133
- for name, entry in interfaces_dict.items()
134
- },
135
- implementations={
136
- name: self._parse_impl(entry) for name, entry in impls_dict.items()
137
- },
138
- )
139
-
140
- @property
141
- def type_parser(self) -> TypeParser:
142
- if self._type_parser:
143
- return self._type_parser
144
-
145
- raise RuntimeError("Tried to get type_parser before it was set.")
146
-
147
- def _parse_structures_and_enums(
148
- self,
149
- ) -> Tuple[Dict[str, StructType], Dict[str, EnumType]]:
150
- structs_dict = AbiParser._group_by_entry_name(
151
- self._grouped[STRUCT_ENTRY], "defined structures"
152
- )
153
- enums_dict = AbiParser._group_by_entry_name(
154
- self._grouped[ENUM_ENTRY], "defined enums"
155
- )
156
-
157
- # Contains sorted members of the struct
158
- struct_members: Dict[str, List[TypedParameterDict]] = {}
159
- structs: Dict[str, StructType] = {}
160
-
161
- # Contains sorted members of the enum
162
- enum_members: Dict[str, List[TypedParameterDict]] = {}
163
- enums: Dict[str, EnumType] = {}
164
-
165
- # Example problem (with a simplified json structure):
166
- # [{name: User, fields: {id: Uint256}}, {name: "Uint256", ...}]
167
- # User refers to Uint256 even though it is not known yet (will be parsed next).
168
- # This is why it is important to create the structure types first. This way other types can already refer to
169
- # them when parsing types, even thought their fields are not filled yet.
170
- # At the end we will mutate those structures to contain the right fields. An alternative would be to use
171
- # topological sorting with an additional "unresolved type", so this flow is much easier.
172
- for name, struct in structs_dict.items():
173
- structs[name] = StructType(name, OrderedDict())
174
- struct_members[name] = struct["members"]
175
-
176
- for name, enum in enums_dict.items():
177
- enums[name] = EnumType(name, OrderedDict())
178
- enum_members[name] = enum["variants"]
179
-
180
- # Now parse the types of members and save them.
181
- defined_structs_enums: Dict[str, Union[StructType, EnumType]] = dict(structs)
182
- defined_structs_enums.update(enums)
183
-
184
- self._type_parser = TypeParser(defined_structs_enums) # pyright: ignore
185
- for name, struct in structs.items():
186
- members = self._parse_members(
187
- cast(List[TypedParameterDict], struct_members[name]),
188
- f"members of structure '{name}'",
189
- )
190
- struct.types.update(members)
191
- for name, enum in enums.items():
192
- members = self._parse_members(
193
- cast(List[TypedParameterDict], enum_members[name]),
194
- f"members of enum '{name}'",
195
- )
196
- enum.variants.update(members)
197
-
198
- # All types have their members assigned now
199
-
200
- self._check_for_cycles(defined_structs_enums)
201
-
202
- return structs, enums
203
-
204
- @staticmethod
205
- def _check_for_cycles(structs: Dict[str, Union[StructType, EnumType]]):
206
- # We want to avoid creating our own cycle checker as it would make it more complex. json module has a built-in
207
- # checker for cycles.
208
- try:
209
- _to_json(structs)
210
- except ValueError as err:
211
- raise AbiParsingError(err) from ValueError
212
-
213
- def _parse_function(self, function: FunctionDict) -> Abi.Function:
214
- return Abi.Function(
215
- name=function["name"],
216
- inputs=self._parse_members(function["inputs"], function["name"]),
217
- outputs=list(
218
- self.type_parser.parse_inline_type(param["type"])
219
- for param in function["outputs"]
220
- ),
221
- )
222
-
223
- def _parse_constructor(self, constructor: ConstructorDict) -> Abi.Constructor:
224
- return Abi.Constructor(
225
- name=constructor["name"],
226
- inputs=self._parse_members(constructor["inputs"], constructor["name"]),
227
- )
228
-
229
- def _parse_event(self, event: EventDict) -> EventType:
230
- members_ = event.get("members", event.get("variants"))
231
- assert isinstance(members_, list)
232
- return EventType(
233
- name=event["name"],
234
- types=self._parse_members(
235
- cast(List[TypedParameterDict], members_), event["name"]
236
- ),
237
- )
238
-
239
- TypedParam = TypeVar(
240
- "TypedParam", TypedParameterDict, EventStructMemberDict, EventEnumVariantDict
241
- )
242
-
243
- def _parse_members(
244
- self, params: List[TypedParam], entity_name: str
245
- ) -> OrderedDict[str, CairoType]:
246
- # Without cast, it complains that 'Type "TypedParameterDict" cannot be assigned to type "T@_group_by_name"'
247
- members = AbiParser._group_by_entry_name(cast(List[Dict], params), entity_name)
248
- return OrderedDict(
249
- (name, self.type_parser.parse_inline_type(param["type"]))
250
- for name, param in members.items()
251
- )
252
-
253
- def _parse_interface(self, interface: InterfaceDict) -> Abi.Interface:
254
- return Abi.Interface(
255
- name=interface["name"],
256
- items=OrderedDict(
257
- (entry["name"], self._parse_function(entry))
258
- for entry in interface["items"]
259
- ),
260
- )
261
-
262
- @staticmethod
263
- def _parse_impl(impl: ImplDict) -> Abi.Impl:
264
- return Abi.Impl(
265
- name=impl["name"],
266
- interface_name=impl["interface_name"],
267
- )
268
-
269
- @staticmethod
270
- def _group_by_entry_name(
271
- dicts: List[Dict], entity_name: str
272
- ) -> OrderedDict[str, Dict]:
273
- grouped = OrderedDict()
274
- for entry in dicts:
275
- name = entry["name"]
276
- if name in grouped:
277
- raise AbiParsingError(
278
- f"Name '{name}' was used more than once in {entity_name}."
279
- )
280
- grouped[name] = entry
281
- return grouped
282
-
283
-
284
- def _to_json(value):
285
- class DataclassSupportingEncoder(json.JSONEncoder):
286
- def default(self, o):
287
- # Dataclasses are not supported by json. Additionally, dataclasses.asdict() works recursively and doesn't
288
- # check for cycles, so we need to flatten dataclasses (by ONE LEVEL) ourselves.
289
- if dataclasses.is_dataclass(o):
290
- return tuple(getattr(o, field.name) for field in dataclasses.fields(o))
291
- return super().default(o)
292
-
293
- return json.dumps(value, cls=DataclassSupportingEncoder)
@@ -1,192 +0,0 @@
1
- from typing import Any, List, Optional
2
-
3
- from ....lark import *
4
- from ....lark import Token, Transformer
5
-
6
- from ...cairo.data_types import (
7
- ArrayType,
8
- BoolType,
9
- CairoType,
10
- FeltType,
11
- OptionType,
12
- TupleType,
13
- TypeIdentifier,
14
- UintType,
15
- UnitType,
16
- )
17
-
18
- ABI_EBNF = """
19
- IDENTIFIER: /[a-zA-Z_][a-zA-Z_0-9]*/
20
-
21
- type: "@"? actual_type
22
-
23
- actual_type: type_unit
24
- | type_bool
25
- | type_felt
26
- | type_bytes
27
- | type_uint
28
- | type_contract_address
29
- | type_class_hash
30
- | type_storage_address
31
- | type_option
32
- | type_array
33
- | type_span
34
- | tuple
35
- | type_identifier
36
-
37
-
38
- type_unit: "()"
39
- type_felt: "core::felt252"
40
- type_bytes: "core::bytes_31::bytes31"
41
- type_bool: "core::bool"
42
- type_uint: "core::integer::u" INT
43
- type_contract_address: "core::starknet::contract_address::ContractAddress"
44
- type_class_hash: "core::starknet::class_hash::ClassHash"
45
- type_storage_address: "core::starknet::storage_access::StorageAddress"
46
- type_option: "core::option::Option::<" (type | type_identifier) ">"
47
- type_array: "core::array::Array::<" (type | type_identifier) ">"
48
- type_span: "core::array::Span::<" (type | type_identifier) ">"
49
-
50
- tuple: "(" type? ("," type?)* ")"
51
-
52
- type_identifier: (IDENTIFIER | "::")+ ("<" (type | ",")+ ">")?
53
-
54
-
55
- %import common.INT
56
- %import common.WS
57
- %ignore WS
58
- """
59
-
60
-
61
- class ParserTransformer(Transformer):
62
- """
63
- Transforms the lark tree into CairoTypes.
64
- """
65
-
66
- def __init__(self, type_identifiers: Optional[dict] = None) -> None:
67
- if type_identifiers is None:
68
- type_identifiers = {}
69
- self.type_identifiers = type_identifiers
70
- super(Transformer, self).__init__()
71
-
72
- # pylint: disable=no-self-use
73
-
74
- def __default__(self, data: str, children, meta):
75
- raise TypeError(f"Unable to parse tree node of type {data}.")
76
-
77
- def type(self, value: List[Optional[CairoType]]) -> Optional[CairoType]:
78
- """
79
- Tokens are read bottom-up, so here all of them are parsed and should be just returned.
80
- `Optional` is added in case of the unit type.
81
- """
82
- assert len(value) == 1
83
- return value[0]
84
-
85
- def actual_type(self, value) -> Optional[CairoType]:
86
- return value[0]
87
-
88
- def type_felt(self, _value: List[Any]) -> FeltType:
89
- """
90
- Felt does not contain any additional arguments, so `_value` is just an empty list.
91
- """
92
- return FeltType()
93
-
94
- def type_bytes(self, _value: List[Any]) -> FeltType:
95
- """
96
- Felt does not contain any additional arguments, so `_value` is just an empty list.
97
- """
98
- return FeltType()
99
-
100
- def type_bool(self, _value: List[Any]) -> BoolType:
101
- """
102
- Bool does not contain any additional arguments, so `_value` is just an empty list.
103
- """
104
- return BoolType()
105
-
106
- def type_uint(self, value: List[Token]) -> UintType:
107
- """
108
- Uint type contains information about its size. It is present in the value[0].
109
- """
110
- return UintType(int(value[0]))
111
-
112
- def type_unit(self, _value: List[Any]) -> UnitType:
113
- """
114
- `()` type.
115
- """
116
- return UnitType()
117
-
118
- def type_option(self, value: List[CairoType]) -> OptionType:
119
- """
120
- Option includes an information about which type it eventually represents.
121
- `Optional` is added in case of the unit type.
122
- """
123
- return OptionType(value[0])
124
-
125
- def type_array(self, value: List[CairoType]) -> ArrayType:
126
- """
127
- Array contains values of type under `value[0]`.
128
- """
129
- return ArrayType(value[0])
130
-
131
- def type_span(self, value: List[CairoType]) -> ArrayType:
132
- """
133
- Span contains values of type under `value[0]`.
134
- """
135
- return ArrayType(value[0])
136
-
137
- def type_identifier(self, tokens: List[Token]) -> TypeIdentifier:
138
- """
139
- Structs and enums are defined as follows: (IDENTIFIER | "::")+ [some not important info]
140
- where IDENTIFIER is a string.
141
-
142
- Tokens would contain strings and types (if it is present).
143
- We are interested only in the strings because a structure (or enum) name can be built from them.
144
- """
145
- name = "::".join(token for token in tokens if isinstance(token, str))
146
- if name in self.type_identifiers:
147
- return self.type_identifiers[name]
148
- return TypeIdentifier(name)
149
-
150
- def type_contract_address(self, _value: List[Any]) -> FeltType:
151
- """
152
- ContractAddress is represented by the felt252.
153
- """
154
- return FeltType()
155
-
156
- def type_class_hash(self, _value: List[Any]) -> FeltType:
157
- """
158
- ClassHash is represented by the felt252.
159
- """
160
- return FeltType()
161
-
162
- def type_storage_address(self, _value: List[Any]) -> FeltType:
163
- """
164
- StorageAddress is represented by the felt252.
165
- """
166
- return FeltType()
167
-
168
- def tuple(self, types: List[CairoType]) -> TupleType:
169
- """
170
- Tuple contains values defined in the `types` argument.
171
- """
172
- return TupleType(types)
173
-
174
-
175
- def parse(
176
- code: str,
177
- type_identifiers,
178
- ) -> CairoType:
179
- """
180
- Parse the given string and return a CairoType.
181
- """
182
- grammar_parser = lark.Lark(
183
- grammar=ABI_EBNF,
184
- start="type",
185
- parser="earley",
186
- )
187
- parsed_lark_tree = grammar_parser.parse(code)
188
-
189
- parser_transformer = ParserTransformer(type_identifiers)
190
- cairo_type = parser_transformer.transform(parsed_lark_tree)
191
-
192
- return cairo_type