crypticorn 2.1.2__tar.gz → 2.1.4__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.
Files changed (248) hide show
  1. {crypticorn-2.1.2 → crypticorn-2.1.4}/PKG-INFO +1 -1
  2. crypticorn-2.1.4/crypticorn/common/auth.py +14 -0
  3. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/common/auth_client.py +14 -18
  4. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/common/errors.py +216 -253
  5. crypticorn-2.1.4/crypticorn/common/sorter.py +36 -0
  6. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/__init__.py +1 -0
  7. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/api/now_payments_api.py +3 -16
  8. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/api/payments_api.py +0 -42
  9. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/api/products_api.py +18 -57
  10. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/configuration.py +2 -1
  11. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/__init__.py +1 -0
  12. crypticorn-2.1.4/crypticorn/pay/client/models/body_create_now_invoice.py +98 -0
  13. crypticorn-2.1.4/crypticorn/pay/client/models/body_create_product.py +98 -0
  14. crypticorn-2.1.4/crypticorn/pay/client/models/body_get_products.py +87 -0
  15. crypticorn-2.1.4/crypticorn/pay/client/models/body_handle_now_webhook.py +98 -0
  16. crypticorn-2.1.4/crypticorn/pay/client/models/body_update_product.py +98 -0
  17. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/now_webhook_payload.py +1 -1
  18. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/product_model.py +9 -0
  19. crypticorn-2.1.4/crypticorn/pay/client/models/scope.py +56 -0
  20. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/api_keys_api.py +5 -70
  21. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/bots_api.py +4 -56
  22. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/exchanges_api.py +2 -19
  23. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/futures_trading_panel_api.py +6 -74
  24. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/notifications_api.py +6 -87
  25. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/orders_api.py +2 -15
  26. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/strategies_api.py +4 -56
  27. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/trading_actions_api.py +1 -14
  28. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/configuration.py +2 -1
  29. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/api_error_identifier.py +4 -0
  30. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn.egg-info/PKG-INFO +1 -1
  31. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn.egg-info/SOURCES.txt +7 -0
  32. {crypticorn-2.1.2 → crypticorn-2.1.4}/pyproject.toml +1 -1
  33. {crypticorn-2.1.2 → crypticorn-2.1.4}/tests/test_auth_client.py +2 -0
  34. crypticorn-2.1.2/crypticorn/common/auth.py +0 -42
  35. {crypticorn-2.1.2 → crypticorn-2.1.4}/README.md +0 -0
  36. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/__init__.py +0 -0
  37. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/__init__.py +0 -0
  38. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/__init__.py +0 -0
  39. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api/__init__.py +0 -0
  40. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api/admin_api.py +0 -0
  41. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api/auth_api.py +0 -0
  42. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api/service_api.py +0 -0
  43. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api/user_api.py +0 -0
  44. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api/wallet_api.py +0 -0
  45. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api_client.py +0 -0
  46. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/api_response.py +0 -0
  47. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/configuration.py +0 -0
  48. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/exceptions.py +0 -0
  49. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/__init__.py +0 -0
  50. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/add_wallet200_response.py +0 -0
  51. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/add_wallet_request.py +0 -0
  52. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/authorize_user200_response.py +0 -0
  53. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/authorize_user200_response_auth.py +0 -0
  54. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/authorize_user_request.py +0 -0
  55. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/create_api_key200_response.py +0 -0
  56. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/create_api_key_request.py +0 -0
  57. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/create_user_request.py +0 -0
  58. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/get_api_keys200_response_inner.py +0 -0
  59. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/list_wallets200_response.py +0 -0
  60. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/list_wallets200_response_balances_inner.py +0 -0
  61. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +0 -0
  62. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +0 -0
  63. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +0 -0
  64. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/list_wallets200_response_data_inner.py +0 -0
  65. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/list_wallets200_response_user_value.py +0 -0
  66. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/logout_default_response.py +0 -0
  67. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/logout_default_response_issues_inner.py +0 -0
  68. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/oauth_callback200_response.py +0 -0
  69. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/oauth_callback200_response_user.py +0 -0
  70. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/refresh_token_info200_response.py +0 -0
  71. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +0 -0
  72. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/resend_verification_email_request.py +0 -0
  73. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/revoke_user_tokens_request.py +0 -0
  74. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/rotate_tokens200_response.py +0 -0
  75. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/token_info200_response.py +0 -0
  76. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/unlink_wallet_request.py +0 -0
  77. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/update_user_request.py +0 -0
  78. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/user_reset_password_request.py +0 -0
  79. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/user_set_password_request.py +0 -0
  80. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/verify200_response.py +0 -0
  81. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/verify_email200_response.py +0 -0
  82. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/verify_email200_response_auth.py +0 -0
  83. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/verify_email200_response_auth_auth.py +0 -0
  84. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/verify_email_request.py +0 -0
  85. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/verify_wallet_request.py +0 -0
  86. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/wallet_verified200_response.py +0 -0
  87. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/models/whoami200_response.py +0 -0
  88. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/py.typed +0 -0
  89. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/client/rest.py +0 -0
  90. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/auth/main.py +0 -0
  91. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/client.py +0 -0
  92. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/common/__init__.py +0 -0
  93. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/common/scopes.py +0 -0
  94. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/common/urls.py +0 -0
  95. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/__init__.py +0 -0
  96. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/__init__.py +0 -0
  97. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/api/__init__.py +0 -0
  98. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/api/data_api.py +0 -0
  99. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/api/models_api.py +0 -0
  100. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/api/status_api.py +0 -0
  101. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/api_client.py +0 -0
  102. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/api_response.py +0 -0
  103. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/configuration.py +0 -0
  104. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/exceptions.py +0 -0
  105. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/__init__.py +0 -0
  106. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/coins.py +0 -0
  107. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/data_download_response.py +0 -0
  108. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/data_info.py +0 -0
  109. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/data_value_value_value_inner.py +0 -0
  110. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/data_version.py +0 -0
  111. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/download_links.py +0 -0
  112. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/evaluation.py +0 -0
  113. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/evaluation_response.py +0 -0
  114. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/feature_size.py +0 -0
  115. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/http_validation_error.py +0 -0
  116. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/model.py +0 -0
  117. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/model_create.py +0 -0
  118. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/model_status.py +0 -0
  119. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/model_update.py +0 -0
  120. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/target.py +0 -0
  121. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/target_type.py +0 -0
  122. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/validation_error.py +0 -0
  123. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/models/validation_error_loc_inner.py +0 -0
  124. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/py.typed +0 -0
  125. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/client/rest.py +0 -0
  126. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/hive/main.py +0 -0
  127. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/__init__.py +0 -0
  128. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/__init__.py +0 -0
  129. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api/__init__.py +0 -0
  130. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api/funding_rates_api.py +0 -0
  131. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api/health_check_api.py +0 -0
  132. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api/ohlcv_data_api.py +0 -0
  133. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api/symbols_api.py +0 -0
  134. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api/udf_api.py +0 -0
  135. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api_client.py +0 -0
  136. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/api_response.py +0 -0
  137. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/configuration.py +0 -0
  138. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/exceptions.py +0 -0
  139. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/__init__.py +0 -0
  140. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/base_response_health_check_response.py +0 -0
  141. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/base_response_list_funding_rate_response.py +0 -0
  142. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/base_response_list_str.py +0 -0
  143. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/base_response_ohlcv_response.py +0 -0
  144. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/error_response.py +0 -0
  145. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/exchange.py +0 -0
  146. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/funding_rate_response.py +0 -0
  147. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/health_check_response.py +0 -0
  148. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/history_error_response.py +0 -0
  149. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/history_no_data_response.py +0 -0
  150. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/history_success_response.py +0 -0
  151. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/http_validation_error.py +0 -0
  152. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/market.py +0 -0
  153. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/ohlcv_response.py +0 -0
  154. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/resolution.py +0 -0
  155. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/response_get_history_udf_history_get.py +0 -0
  156. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/search_symbol_response.py +0 -0
  157. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/sort_direction.py +0 -0
  158. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/symbol_group_response.py +0 -0
  159. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/symbol_info_response.py +0 -0
  160. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/symbol_type.py +0 -0
  161. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/timeframe.py +0 -0
  162. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/udf_config_response.py +0 -0
  163. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/validation_error.py +0 -0
  164. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/models/validation_error_loc_inner.py +0 -0
  165. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/py.typed +0 -0
  166. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/client/rest.py +0 -0
  167. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/klines/main.py +0 -0
  168. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/__init__.py +0 -0
  169. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/api/__init__.py +0 -0
  170. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/api/status_api.py +0 -0
  171. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/api_client.py +0 -0
  172. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/api_response.py +0 -0
  173. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/exceptions.py +0 -0
  174. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/api_status_res.py +0 -0
  175. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/combined_payment_history.py +0 -0
  176. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/create_invoice_req.py +0 -0
  177. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/create_invoice_res.py +0 -0
  178. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/currency.py +0 -0
  179. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/estimate_price_req.py +0 -0
  180. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/estimate_price_res.py +0 -0
  181. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/get_currencies_res.py +0 -0
  182. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/get_payment_status_res.py +0 -0
  183. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/get_payments_list_res.py +0 -0
  184. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/http_validation_error.py +0 -0
  185. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/min_amount_req.py +0 -0
  186. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/min_amount_res.py +0 -0
  187. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/now_api_status_res.py +0 -0
  188. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/now_create_invoice_req.py +0 -0
  189. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/now_create_invoice_res.py +0 -0
  190. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/now_fee_structure.py +0 -0
  191. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/now_payment_model.py +0 -0
  192. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/now_payment_status.py +0 -0
  193. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/payment.py +0 -0
  194. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/payment_status.py +0 -0
  195. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/product.py +0 -0
  196. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/product_subs_model.py +0 -0
  197. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/services.py +0 -0
  198. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/unified_payment_model.py +0 -0
  199. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/validation_error.py +0 -0
  200. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/models/validation_error_loc_inner.py +0 -0
  201. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/py.typed +0 -0
  202. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/client/rest.py +0 -0
  203. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/pay/main.py +0 -0
  204. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/__init__.py +0 -0
  205. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/__init__.py +0 -0
  206. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/__init__.py +0 -0
  207. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api/status_api.py +0 -0
  208. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api_client.py +0 -0
  209. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/api_response.py +0 -0
  210. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/exceptions.py +0 -0
  211. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/__init__.py +0 -0
  212. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/action_model.py +0 -0
  213. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/api_error_level.py +0 -0
  214. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/api_error_type.py +0 -0
  215. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/api_key_model.py +0 -0
  216. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/bot_model.py +0 -0
  217. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/bot_status.py +0 -0
  218. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/exchange.py +0 -0
  219. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/execution_ids.py +0 -0
  220. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/futures_balance.py +0 -0
  221. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/futures_trading_action.py +0 -0
  222. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/http_validation_error.py +0 -0
  223. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/margin_mode.py +0 -0
  224. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/market_type.py +0 -0
  225. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/notification_model.py +0 -0
  226. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/notification_type.py +0 -0
  227. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/order_model.py +0 -0
  228. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/order_status.py +0 -0
  229. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/post_futures_action.py +0 -0
  230. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/strategy_exchange_info.py +0 -0
  231. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/strategy_model.py +0 -0
  232. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/strategy_model_input.py +0 -0
  233. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/strategy_model_output.py +0 -0
  234. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/tpsl.py +0 -0
  235. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/trading_action_type.py +0 -0
  236. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/update_notification.py +0 -0
  237. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/validation_error.py +0 -0
  238. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/models/validation_error_loc_inner.py +0 -0
  239. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/py.typed +0 -0
  240. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/client/rest.py +0 -0
  241. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn/trade/main.py +0 -0
  242. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn.egg-info/dependency_links.txt +0 -0
  243. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn.egg-info/requires.txt +0 -0
  244. {crypticorn-2.1.2 → crypticorn-2.1.4}/crypticorn.egg-info/top_level.txt +0 -0
  245. {crypticorn-2.1.2 → crypticorn-2.1.4}/requirements/dev.txt +0 -0
  246. {crypticorn-2.1.2 → crypticorn-2.1.4}/requirements/main.txt +0 -0
  247. {crypticorn-2.1.2 → crypticorn-2.1.4}/requirements/test.txt +0 -0
  248. {crypticorn-2.1.2 → crypticorn-2.1.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crypticorn
3
- Version: 2.1.2
3
+ Version: 2.1.4
4
4
  Summary: Maximise Your Crypto Trading Profits with AI Predictions
5
5
  Author-email: Crypticorn <timon@crypticorn.com>
6
6
  Project-URL: Homepage, https://crypticorn.com
@@ -0,0 +1,14 @@
1
+ from fastapi.security import APIKeyHeader, HTTPBearer
2
+
3
+
4
+ http_bearer = HTTPBearer(
5
+ bearerFormat="JWT",
6
+ auto_error=False,
7
+ description="The JWT to use for authentication.",
8
+ )
9
+
10
+ apikey_header = APIKeyHeader(
11
+ name="X-API-Key",
12
+ auto_error=False,
13
+ description="The API key to use for authentication.",
14
+ )
@@ -1,5 +1,5 @@
1
1
  from fastapi import Depends, HTTPException, Query, status
2
- from fastapi.security import HTTPAuthorizationCredentials
2
+ from fastapi.security import HTTPAuthorizationCredentials, SecurityScopes
3
3
  from typing_extensions import Annotated, Doc
4
4
  import json
5
5
 
@@ -109,13 +109,13 @@ class AuthHandler:
109
109
  async def api_key_auth(
110
110
  self,
111
111
  api_key: Annotated[str | None, Depends(apikey_header)] = None,
112
- scopes: list[Scope] = [],
112
+ sec: SecurityScopes = SecurityScopes(),
113
113
  ) -> Verify200Response:
114
114
  """
115
115
  Verifies the API key and checks if the user scopes are a subset of the API scopes.
116
116
  Use this function if you only want to allow access via the API key.
117
117
  """
118
- return await self.combined_auth(bearer=None, api_key=api_key, scopes=scopes)
118
+ return await self.combined_auth(bearer=None, api_key=api_key, sec=sec)
119
119
 
120
120
  async def bearer_auth(
121
121
  self,
@@ -123,13 +123,13 @@ class AuthHandler:
123
123
  HTTPAuthorizationCredentials | None,
124
124
  Depends(http_bearer),
125
125
  ] = None,
126
- scopes: list[Scope] = [],
126
+ sec: SecurityScopes = SecurityScopes(),
127
127
  ) -> Verify200Response:
128
128
  """
129
129
  Verifies the bearer token and checks if the user scopes are a subset of the API scopes.
130
130
  Use this function if you only want to allow access via the bearer token.
131
131
  """
132
- return await self.combined_auth(bearer=bearer, api_key=None, scopes=scopes)
132
+ return await self.combined_auth(bearer=bearer, api_key=None, sec=sec)
133
133
 
134
134
  async def combined_auth(
135
135
  self,
@@ -137,7 +137,7 @@ class AuthHandler:
137
137
  HTTPAuthorizationCredentials | None, Depends(http_bearer)
138
138
  ] = None,
139
139
  api_key: Annotated[str | None, Depends(apikey_header)] = None,
140
- scopes: list[Scope] = [],
140
+ sec: SecurityScopes = SecurityScopes(),
141
141
  ) -> Verify200Response:
142
142
  """
143
143
  Verifies the bearer token and/or API key and checks if the user scopes are a subset of the API scopes.
@@ -158,10 +158,8 @@ class AuthHandler:
158
158
  res = await self._verify_bearer(token)
159
159
  if res is None:
160
160
  continue
161
- if scopes:
162
- await self._validate_scopes(
163
- scopes, [Scope.from_str(scope) for scope in res.scopes]
164
- )
161
+ if sec:
162
+ await self._validate_scopes(sec.scopes, res.scopes)
165
163
  return res
166
164
 
167
165
  except Exception as e:
@@ -173,18 +171,18 @@ class AuthHandler:
173
171
  async def ws_api_key_auth(
174
172
  self,
175
173
  api_key: Annotated[str | None, Query()] = None,
176
- scopes: list[Scope] = [],
174
+ sec: SecurityScopes = SecurityScopes(),
177
175
  ) -> Verify200Response:
178
176
  """
179
177
  Verifies the API key and checks if the user scopes are a subset of the API scopes.
180
178
  Use this function if you only want to allow access via the API key.
181
179
  """
182
- return await self.api_key_auth(api_key=api_key, scopes=scopes)
180
+ return await self.api_key_auth(api_key=api_key, sec=sec)
183
181
 
184
182
  async def ws_bearer_auth(
185
183
  self,
186
184
  bearer: Annotated[str | None, Query()] = None,
187
- scopes: list[Scope] = [],
185
+ sec: SecurityScopes = SecurityScopes(),
188
186
  ) -> Verify200Response:
189
187
  """
190
188
  Verifies the bearer token and checks if the user scopes are a subset of the API scopes.
@@ -195,13 +193,13 @@ class AuthHandler:
195
193
  if bearer
196
194
  else None
197
195
  )
198
- return await self.bearer_auth(bearer=credentials, scopes=scopes)
196
+ return await self.bearer_auth(bearer=credentials, sec=sec)
199
197
 
200
198
  async def ws_combined_auth(
201
199
  self,
202
200
  bearer: Annotated[str | None, Query()] = None,
203
201
  api_key: Annotated[str | None, Query()] = None,
204
- scopes: list[Scope] = [],
202
+ sec: SecurityScopes = SecurityScopes(),
205
203
  ) -> Verify200Response:
206
204
  """
207
205
  Verifies the bearer token and/or API key and checks if the user scopes are a subset of the API scopes.
@@ -212,6 +210,4 @@ class AuthHandler:
212
210
  if bearer
213
211
  else None
214
212
  )
215
- return await self.combined_auth(
216
- bearer=credentials, api_key=api_key, scopes=scopes
217
- )
213
+ return await self.combined_auth(bearer=credentials, api_key=api_key, sec=sec)