crypticorn 2.11.7__tar.gz → 2.11.8__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.
- {crypticorn-2.11.7 → crypticorn-2.11.8}/CHANGELOG.md +8 -0
- {crypticorn-2.11.7/crypticorn.egg-info → crypticorn-2.11.8}/PKG-INFO +1 -1
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/errors.py +11 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/strategies_api.py +6 -6
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/order.py +30 -28
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/strategy.py +9 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/strategy_create.py +10 -1
- {crypticorn-2.11.7 → crypticorn-2.11.8/crypticorn.egg-info}/PKG-INFO +1 -1
- {crypticorn-2.11.7 → crypticorn-2.11.8}/pyproject.toml +1 -1
- {crypticorn-2.11.7 → crypticorn-2.11.8}/LICENSE +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/MANIFEST.in +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/README.md +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api/admin_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api/auth_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api/service_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api/user_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api/wallet_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api_client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/api_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/configuration.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/exceptions.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/add_wallet200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/add_wallet_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/authorize_user200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/authorize_user200_response_auth.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/authorize_user_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/create_api_key200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/create_api_key_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/create_user_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/get_api_keys200_response_inner.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response_balances_inner.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_sale_round.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response_balances_inner_wallet_vesting_wallets_inner.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response_data_inner.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response_user_value.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/logout_default_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/logout_default_response_issues_inner.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/oauth_callback200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/oauth_callback200_response_user.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/refresh_token_info200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/refresh_token_info200_response_user_session.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/resend_verification_email_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/revoke_user_tokens_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/rotate_tokens200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/token_info200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/unlink_wallet_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/update_user_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/user_by_username200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/user_reset_password_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/user_set_password_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_email200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_email200_response_auth.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_email200_response_auth_auth.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_email_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_wallet_request.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/wallet_verified200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/whoami200_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/py.typed +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/rest.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/main.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/__main__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/init.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/templates/Dockerfile +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/templates/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/templates/auth.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/templates/dependabot.yml +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/templates/merge-env.sh +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/templates/ruff.yml +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/cli/version.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/ansi_colors.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/auth.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/decorators.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/enums.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/exceptions.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/logging.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/middleware.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/mixins.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/openapi.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/pagination.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/router/admin_router.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/router/status_router.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/scopes.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/urls.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/utils.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/common/warnings.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/api/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/api/admin_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/api/data_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/api/models_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/api/status_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/api_client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/api_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/configuration.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/exceptions.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/api_error_identifier.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/api_error_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/api_error_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/coins.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/data_download_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/data_info.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/data_options.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/data_version.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/data_version_info.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/download_links.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/evaluation.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/evaluation_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/exception_detail.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/feature_size.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/log_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/model_create.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/model_read.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/model_status.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/model_update.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/target.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/target_info.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/target_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/py.typed +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/rest.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/main.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/utils.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/admin_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/change_in_timeframe_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/funding_rates_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/ohlcv_data_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/status_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/symbols_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api/udf_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api_client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/api_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/configuration.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/exceptions.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/api_error_identifier.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/api_error_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/api_error_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/change_in_timeframe.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/exception_detail.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/funding_rate.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/funding_rate_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/internal_exchange.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/log_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/market_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/ohlcv.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/resolution.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/search_symbol.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/sort_direction.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/symbol_group.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/symbol_info.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/symbol_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/timeframe.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/models/udf_config.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/py.typed +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/client/rest.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/klines/main.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/admin_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/exchanges_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/indicators_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/logs_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/marketcap_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/markets_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/quote_currencies_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/status_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api/tokens_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api_client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/api_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/configuration.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/exceptions.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/api_error_identifier.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/api_error_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/api_error_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/exception_detail.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/exchange_availability.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/exchange_mapping.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/internal_exchange.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/log_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/market_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/marketcap_ranking.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/marketcap_symbol_ranking.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/ohlcv.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/severity.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/time_interval.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/models/trading_status.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/py.typed +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/client/rest.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/metrics/main.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api/admin_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api/now_payments_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api/payments_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api/products_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api/status_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api_client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/api_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/configuration.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/exceptions.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/exception_detail.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/log_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/now_create_invoice_req.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/now_create_invoice_res.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/payment.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/payment_status.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/product_create.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/product_read.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/product_sub_read.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/product_update.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/provider.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/response_getuptime.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/models/scope.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/py.typed +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/client/rest.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/pay/main.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/admin_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/api_keys_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/bots_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/exchanges_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/futures_trading_panel_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/notifications_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/orders_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/status_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api/trading_actions_api.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api_client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/api_response.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/configuration.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/exceptions.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/__init__.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/api_error_identifier.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/api_error_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/api_error_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/bot.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/bot_create.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/bot_status.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/bot_update.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/exception_detail.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/exchange.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/exchange_key.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/exchange_key_create.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/exchange_key_update.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/execution_ids.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/futures_balance.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/futures_trading_action.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/futures_trading_action_create.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/log_level.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/margin_mode.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/market_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/notification.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/notification_create.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/notification_update.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/order_status.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/post_futures_action.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/spot_trading_action_create.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/strategy_exchange_info.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/strategy_update.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/tpsl.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/models/trading_action_type.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/py.typed +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/client/rest.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/trade/main.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn.egg-info/SOURCES.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn.egg-info/dependency_links.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn.egg-info/entry_points.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn.egg-info/requires.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn.egg-info/top_level.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/requirements/dev.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/requirements/extra.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/requirements/main.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/requirements/test.txt +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/setup.cfg +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/static/favicon.svg +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/static/logo.svg +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/static/pip-structure.drawio +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/static/pip-structure.svg +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/tests/test_auth_client.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/tests/test_config.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/tests/test_enums.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/tests/test_errors.py +0 -0
- {crypticorn-2.11.7 → crypticorn-2.11.8}/tests/test_pagination.py +0 -0
@@ -1,6 +1,14 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
3
|
|
4
|
+
## v2.11.8 (2025-05-18)
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
- New error code `object_locked`
|
9
|
+
([`d2c79a1`](https://github.com/crypticorn-ai/api-client/commit/d2c79a1c8e77c5801981b5fe2c4f0c99d9ef0943))
|
10
|
+
|
11
|
+
|
4
12
|
## v2.11.7 (2025-05-18)
|
5
13
|
|
6
14
|
### Bug Fixes
|
@@ -74,6 +74,7 @@ class ApiErrorIdentifier(StrEnum):
|
|
74
74
|
OBJECT_ALREADY_EXISTS = "object_already_exists"
|
75
75
|
OBJECT_CREATED = "object_created"
|
76
76
|
OBJECT_DELETED = "object_deleted"
|
77
|
+
OBJECT_LOCKED = "object_locked"
|
77
78
|
OBJECT_NOT_FOUND = "object_not_found"
|
78
79
|
OBJECT_UPDATED = "object_updated"
|
79
80
|
ORDER_ALREADY_FILLED = "order_is_already_filled"
|
@@ -362,6 +363,11 @@ class ApiError(Enum, metaclass=ApiErrorFallback):
|
|
362
363
|
ApiErrorType.SERVER_ERROR,
|
363
364
|
ApiErrorLevel.INFO,
|
364
365
|
)
|
366
|
+
OBJECT_LOCKED = (
|
367
|
+
ApiErrorIdentifier.OBJECT_LOCKED,
|
368
|
+
ApiErrorType.NO_ERROR,
|
369
|
+
ApiErrorLevel.INFO,
|
370
|
+
)
|
365
371
|
OBJECT_NOT_FOUND = (
|
366
372
|
ApiErrorIdentifier.OBJECT_NOT_FOUND,
|
367
373
|
ApiErrorType.SERVER_ERROR,
|
@@ -842,6 +848,11 @@ class StatusCodeMapper:
|
|
842
848
|
status.HTTP_204_NO_CONTENT,
|
843
849
|
status.WS_1000_NORMAL_CLOSURE,
|
844
850
|
),
|
851
|
+
# Miscellaneous
|
852
|
+
ApiError.OBJECT_LOCKED: (
|
853
|
+
status.HTTP_423_LOCKED,
|
854
|
+
status.WS_1013_TRY_AGAIN_LATER,
|
855
|
+
),
|
845
856
|
}
|
846
857
|
|
847
858
|
@classmethod
|
@@ -17,7 +17,7 @@ from typing import Any, Dict, List, Optional, Tuple, Union
|
|
17
17
|
from typing_extensions import Annotated
|
18
18
|
|
19
19
|
from pydantic import StrictInt, StrictStr
|
20
|
-
from typing import
|
20
|
+
from typing import List, Optional
|
21
21
|
from crypticorn.trade.client.models.strategy import Strategy
|
22
22
|
from crypticorn.trade.client.models.strategy_create import StrategyCreate
|
23
23
|
from crypticorn.trade.client.models.strategy_update import StrategyUpdate
|
@@ -561,7 +561,7 @@ class StrategiesApi:
|
|
561
561
|
_content_type: Optional[StrictStr] = None,
|
562
562
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
563
563
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
564
|
-
) ->
|
564
|
+
) -> None:
|
565
565
|
"""Kill Strategy
|
566
566
|
|
567
567
|
Kills a strategy by disabling it and deleting all bots associated with it.
|
@@ -599,7 +599,7 @@ class StrategiesApi:
|
|
599
599
|
)
|
600
600
|
|
601
601
|
_response_types_map: Dict[str, Optional[str]] = {
|
602
|
-
"
|
602
|
+
"204": None,
|
603
603
|
}
|
604
604
|
response_data = await self.api_client.call_api(
|
605
605
|
*_param, _request_timeout=_request_timeout
|
@@ -625,7 +625,7 @@ class StrategiesApi:
|
|
625
625
|
_content_type: Optional[StrictStr] = None,
|
626
626
|
_headers: Optional[Dict[StrictStr, Any]] = None,
|
627
627
|
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
628
|
-
) -> ApiResponse[
|
628
|
+
) -> ApiResponse[None]:
|
629
629
|
"""Kill Strategy
|
630
630
|
|
631
631
|
Kills a strategy by disabling it and deleting all bots associated with it.
|
@@ -663,7 +663,7 @@ class StrategiesApi:
|
|
663
663
|
)
|
664
664
|
|
665
665
|
_response_types_map: Dict[str, Optional[str]] = {
|
666
|
-
"
|
666
|
+
"204": None,
|
667
667
|
}
|
668
668
|
response_data = await self.api_client.call_api(
|
669
669
|
*_param, _request_timeout=_request_timeout
|
@@ -727,7 +727,7 @@ class StrategiesApi:
|
|
727
727
|
)
|
728
728
|
|
729
729
|
_response_types_map: Dict[str, Optional[str]] = {
|
730
|
-
"
|
730
|
+
"204": None,
|
731
731
|
}
|
732
732
|
response_data = await self.api_client.call_api(
|
733
733
|
*_param, _request_timeout=_request_timeout
|
@@ -19,6 +19,7 @@ import json
|
|
19
19
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
22
|
+
from typing_extensions import Annotated
|
22
23
|
from crypticorn.trade.client.models.api_error_identifier import ApiErrorIdentifier
|
23
24
|
from crypticorn.trade.client.models.exchange import Exchange
|
24
25
|
from crypticorn.trade.client.models.margin_mode import MarginMode
|
@@ -60,14 +61,31 @@ class Order(BaseModel):
|
|
60
61
|
margin_mode: Optional[MarginMode] = None
|
61
62
|
status_code: Optional[ApiErrorIdentifier] = None
|
62
63
|
status: Optional[OrderStatus] = None
|
63
|
-
filled_perc: Optional[
|
64
|
-
|
65
|
-
|
64
|
+
filled_perc: Optional[
|
65
|
+
Union[
|
66
|
+
Annotated[float, Field(le=1.0, strict=True, ge=0.0)],
|
67
|
+
Annotated[int, Field(le=1, strict=True, ge=0)],
|
68
|
+
]
|
69
|
+
] = Field(default=0, description="Percentage of the order filled")
|
70
|
+
filled_qty: Optional[
|
71
|
+
Union[
|
72
|
+
Annotated[float, Field(strict=True, ge=0.0)],
|
73
|
+
Annotated[int, Field(strict=True, ge=0)],
|
74
|
+
]
|
75
|
+
] = Field(
|
76
|
+
default=0,
|
77
|
+
description="Quantity filled. Needed for pnl calculation. In the symbol's base currency.",
|
78
|
+
)
|
79
|
+
fee: Optional[Union[StrictFloat, StrictInt]] = Field(
|
80
|
+
default=0, description="Fees for the order"
|
81
|
+
)
|
66
82
|
leverage: Optional[Union[StrictFloat, StrictInt]] = None
|
67
83
|
order_details: Optional[Any] = Field(
|
68
84
|
default=None, description="Exchange specific details of the order"
|
69
85
|
)
|
70
|
-
pnl: Optional[Union[StrictFloat, StrictInt]] =
|
86
|
+
pnl: Optional[Union[StrictFloat, StrictInt]] = Field(
|
87
|
+
default=0, description="Profit and loss for the order"
|
88
|
+
)
|
71
89
|
order_time: Optional[StrictInt] = None
|
72
90
|
__properties: ClassVar[List[str]] = [
|
73
91
|
"id",
|
@@ -230,21 +248,6 @@ class Order(BaseModel):
|
|
230
248
|
if self.status is None and "status" in self.model_fields_set:
|
231
249
|
_dict["status"] = None
|
232
250
|
|
233
|
-
# set to None if filled_perc (nullable) is None
|
234
|
-
# and model_fields_set contains the field
|
235
|
-
if self.filled_perc is None and "filled_perc" in self.model_fields_set:
|
236
|
-
_dict["filled_perc"] = None
|
237
|
-
|
238
|
-
# set to None if filled_qty (nullable) is None
|
239
|
-
# and model_fields_set contains the field
|
240
|
-
if self.filled_qty is None and "filled_qty" in self.model_fields_set:
|
241
|
-
_dict["filled_qty"] = None
|
242
|
-
|
243
|
-
# set to None if fee (nullable) is None
|
244
|
-
# and model_fields_set contains the field
|
245
|
-
if self.fee is None and "fee" in self.model_fields_set:
|
246
|
-
_dict["fee"] = None
|
247
|
-
|
248
251
|
# set to None if leverage (nullable) is None
|
249
252
|
# and model_fields_set contains the field
|
250
253
|
if self.leverage is None and "leverage" in self.model_fields_set:
|
@@ -255,11 +258,6 @@ class Order(BaseModel):
|
|
255
258
|
if self.order_details is None and "order_details" in self.model_fields_set:
|
256
259
|
_dict["order_details"] = None
|
257
260
|
|
258
|
-
# set to None if pnl (nullable) is None
|
259
|
-
# and model_fields_set contains the field
|
260
|
-
if self.pnl is None and "pnl" in self.model_fields_set:
|
261
|
-
_dict["pnl"] = None
|
262
|
-
|
263
261
|
# set to None if order_time (nullable) is None
|
264
262
|
# and model_fields_set contains the field
|
265
263
|
if self.order_time is None and "order_time" in self.model_fields_set:
|
@@ -298,16 +296,20 @@ class Order(BaseModel):
|
|
298
296
|
"margin_mode": obj.get("margin_mode"),
|
299
297
|
"status_code": obj.get("status_code"),
|
300
298
|
"status": obj.get("status"),
|
301
|
-
"filled_perc":
|
302
|
-
|
303
|
-
|
299
|
+
"filled_perc": (
|
300
|
+
obj.get("filled_perc") if obj.get("filled_perc") is not None else 0
|
301
|
+
),
|
302
|
+
"filled_qty": (
|
303
|
+
obj.get("filled_qty") if obj.get("filled_qty") is not None else 0
|
304
|
+
),
|
305
|
+
"fee": obj.get("fee") if obj.get("fee") is not None else 0,
|
304
306
|
"leverage": obj.get("leverage"),
|
305
307
|
"order_details": (
|
306
308
|
AnyOf.from_dict(obj["order_details"])
|
307
309
|
if obj.get("order_details") is not None
|
308
310
|
else None
|
309
311
|
),
|
310
|
-
"pnl": obj.get("pnl"),
|
312
|
+
"pnl": obj.get("pnl") if obj.get("pnl") is not None else 0,
|
311
313
|
"order_time": obj.get("order_time"),
|
312
314
|
}
|
313
315
|
)
|
@@ -20,6 +20,7 @@ import json
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
22
22
|
from typing_extensions import Annotated
|
23
|
+
from crypticorn.trade.client.models.margin_mode import MarginMode
|
23
24
|
from crypticorn.trade.client.models.market_type import MarketType
|
24
25
|
from crypticorn.trade.client.models.strategy_exchange_info import StrategyExchangeInfo
|
25
26
|
from typing import Optional, Set
|
@@ -55,6 +56,7 @@ class Strategy(BaseModel):
|
|
55
56
|
identifier: StrictStr = Field(
|
56
57
|
description="Unique human readable identifier for the strategy e.g. 'daily_trend_momentum'"
|
57
58
|
)
|
59
|
+
margin_mode: Optional[MarginMode] = None
|
58
60
|
leverage: StrictInt = Field(description="Leverage for the strategy")
|
59
61
|
market_type: MarketType = Field(description="Market of operation of the strategy")
|
60
62
|
__properties: ClassVar[List[str]] = [
|
@@ -67,6 +69,7 @@ class Strategy(BaseModel):
|
|
67
69
|
"enabled",
|
68
70
|
"performance_fee",
|
69
71
|
"identifier",
|
72
|
+
"margin_mode",
|
70
73
|
"leverage",
|
71
74
|
"market_type",
|
72
75
|
]
|
@@ -115,6 +118,11 @@ class Strategy(BaseModel):
|
|
115
118
|
if _item_exchanges:
|
116
119
|
_items.append(_item_exchanges.to_dict())
|
117
120
|
_dict["exchanges"] = _items
|
121
|
+
# set to None if margin_mode (nullable) is None
|
122
|
+
# and model_fields_set contains the field
|
123
|
+
if self.margin_mode is None and "margin_mode" in self.model_fields_set:
|
124
|
+
_dict["margin_mode"] = None
|
125
|
+
|
118
126
|
return _dict
|
119
127
|
|
120
128
|
@classmethod
|
@@ -144,6 +152,7 @@ class Strategy(BaseModel):
|
|
144
152
|
"enabled": obj.get("enabled"),
|
145
153
|
"performance_fee": obj.get("performance_fee"),
|
146
154
|
"identifier": obj.get("identifier"),
|
155
|
+
"margin_mode": obj.get("margin_mode"),
|
147
156
|
"leverage": obj.get("leverage"),
|
148
157
|
"market_type": obj.get("market_type"),
|
149
158
|
}
|
@@ -18,8 +18,9 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
21
|
-
from typing import Any, ClassVar, Dict, List, Union
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
22
22
|
from typing_extensions import Annotated
|
23
|
+
from crypticorn.trade.client.models.margin_mode import MarginMode
|
23
24
|
from crypticorn.trade.client.models.market_type import MarketType
|
24
25
|
from crypticorn.trade.client.models.strategy_exchange_info import StrategyExchangeInfo
|
25
26
|
from typing import Optional, Set
|
@@ -46,6 +47,7 @@ class StrategyCreate(BaseModel):
|
|
46
47
|
identifier: StrictStr = Field(
|
47
48
|
description="Unique human readable identifier for the strategy e.g. 'daily_trend_momentum'"
|
48
49
|
)
|
50
|
+
margin_mode: Optional[MarginMode] = None
|
49
51
|
leverage: StrictInt = Field(description="Leverage for the strategy")
|
50
52
|
market_type: MarketType = Field(description="Market of operation of the strategy")
|
51
53
|
__properties: ClassVar[List[str]] = [
|
@@ -55,6 +57,7 @@ class StrategyCreate(BaseModel):
|
|
55
57
|
"enabled",
|
56
58
|
"performance_fee",
|
57
59
|
"identifier",
|
60
|
+
"margin_mode",
|
58
61
|
"leverage",
|
59
62
|
"market_type",
|
60
63
|
]
|
@@ -103,6 +106,11 @@ class StrategyCreate(BaseModel):
|
|
103
106
|
if _item_exchanges:
|
104
107
|
_items.append(_item_exchanges.to_dict())
|
105
108
|
_dict["exchanges"] = _items
|
109
|
+
# set to None if margin_mode (nullable) is None
|
110
|
+
# and model_fields_set contains the field
|
111
|
+
if self.margin_mode is None and "margin_mode" in self.model_fields_set:
|
112
|
+
_dict["margin_mode"] = None
|
113
|
+
|
106
114
|
return _dict
|
107
115
|
|
108
116
|
@classmethod
|
@@ -129,6 +137,7 @@ class StrategyCreate(BaseModel):
|
|
129
137
|
"enabled": obj.get("enabled"),
|
130
138
|
"performance_fee": obj.get("performance_fee"),
|
131
139
|
"identifier": obj.get("identifier"),
|
140
|
+
"margin_mode": obj.get("margin_mode"),
|
132
141
|
"leverage": obj.get("leverage"),
|
133
142
|
"market_type": obj.get("market_type"),
|
134
143
|
}
|
@@ -5,7 +5,7 @@ readme = "README.md"
|
|
5
5
|
license = "MIT"
|
6
6
|
requires-python = ">=3.9"
|
7
7
|
authors = [{name = "Crypticorn", email = "timon@crypticorn.com"}]
|
8
|
-
version = "2.11.
|
8
|
+
version = "2.11.8"
|
9
9
|
keywords = ["machine learning", "data science", "crypto", "modelling"]
|
10
10
|
dynamic = ["dependencies", "optional-dependencies"]
|
11
11
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/add_wallet200_response.py
RENAMED
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/authorize_user200_response.py
RENAMED
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/authorize_user_request.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/create_api_key200_response.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/create_api_key_request.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/create_user_request.py
RENAMED
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/list_wallets200_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/logout_default_response.py
RENAMED
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/oauth_callback200_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/revoke_user_tokens_request.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/rotate_tokens200_response.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/token_info200_response.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/unlink_wallet_request.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/update_user_request.py
RENAMED
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/user_reset_password_request.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/user_set_password_request.py
RENAMED
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_email200_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_email_request.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/verify_wallet_request.py
RENAMED
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/auth/client/models/wallet_verified200_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/api_error_identifier.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/data_download_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{crypticorn-2.11.7 → crypticorn-2.11.8}/crypticorn/hive/client/models/evaluation_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|