+
    aC.j                         R t ^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
HtHt  ! R R]]4      t ! R R	]]4      t ! R
 R]4      t]R R l4       tR# )z5Application configuration from environment variables.)Enum)	lru_cache)List)Fieldfield_validator)BaseSettingsSettingsConfigDictc                   "    ] tR t^tRtRtRtRtR# )TradingModetestnetpaper
production N)__name__
__module____qualname____firstlineno__TESTNETPAPER
PRODUCTION__static_attributes__r       9C:\xampp\htdocs\tradingbinance\backend\app\core\config.pyr
   r
      s    GEJr   r
   c                   "    ] tR t^tRtRtRtRtR# )Environmentdevelopmentstagingr   r   N)r   r   r   r   DEVELOPMENTSTAGINGr   r   r   r   r   r   r      s    KGJr   r   c                     a  ] tR t^t o ]! RRRRR7      tRt]P                  t	Rt
Rt]! R^ R	7      t^t^tR
tRtRtRtRtRtRtRtRtRt]P6                  tRt. R.OtRtRt Rt!^
t"^t#^Kt$^(t%Rt&Rt'Rt(^t)Rt*Rt+Rt,Rt-Rt.Rt/Rt0^dt1^Zt2Rt3Rt4^t5Rt6^2t7Rt8Rt9Rt:R t;R!t<^<t=R"t>R#t?^ t@]A! R$R%R&7      ]BV 3R' lR( l4       4       tC]DV 3R) lR* l4       tEV 3R+ ltFR,tGV tHR-# )/Settingsz.envzutf-8Fignore)env_fileenv_file_encodingcase_sensitiveextrazTradingBinance Platformz/api/v1z2change-this-to-a-random-32-char-minimum-secret-key)
min_lengthzBpostgresql+asyncpg://trading:trading@localhost:5432/tradingbinancez:postgresql://trading:trading@localhost:5432/tradingbinancezredis://localhost:6379/0zredis://localhost:6379/1zredis://localhost:6379/2 Tzhttps://testnet.binance.visionzwss://testnet.binance.vision/wsg     @g      ?g      @g      ?g?g?iK  i  g      @g?g      ?g      $@g?g      Y@g      @i  UTCtrading_modebefore)modec                &   < V ^8  d   QhRS[ RS[/# )   vreturn)strr
   )format__classdict__s   "r   __annotate__Settings.__annotate__w   s      c k r   c                h    \        V\        4      '       d   V# \        VP                  4       4      pV# N)
isinstancer
   lower)clsr.   r+   s   && r   validate_trading_modeSettings.validate_trading_modeu   s+     a%%H1779%r   c                    < V ^8  d   QhRS[ /# r-   r/   )bool)r1   r2   s   "r   r3   r4   ~   s     X X Xr   c                n    V P                   \        P                  8H  ;'       d    V P                  '       * # r6   )r)   r
   r   binance_testnet)selfs   &r   is_live_tradingSettings.is_live_trading}   s*      K$:$::WW4CWCW?WWr   c                  < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[ ;R&   S[ ;R	&   S[ ;R
&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[S[ ,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[ ;R &   S[;R!&   S[ ;R"&   S[ ;R#&   S[ ;R$&   S[ ;R%&   S[ ;R&&   S[;R'&   S[;R(&   S[;R)&   S[;R*&   S[;R+&   S[;R,&   S[;R-&   S[;R.&   S[;R/&   S[;R0&   S[;R1&   S[;R2&   S[;R3&   S[;R4&   S[ ;R5&   S[;R6&   # )7r-   app_nameenvironmentdebug
api_prefix
secret_keyaccess_token_expire_minutesrefresh_token_expire_daysdatabase_urldatabase_url_sync	redis_urlcelery_broker_urlcelery_result_backendbinance_api_keybinance_api_secretr@   binance_base_urlbinance_ws_urlr)   allow_production_tradingdefault_symbolspaper_initial_capitalmax_risk_per_trade_pctmax_daily_loss_pctmax_trades_per_daymax_consecutive_lossesmin_confidence_buyensemble_sell_threshold	kelly_capbacktest_commission_pctbacktest_slippage_pctmin_paper_trading_days	smtp_host	smtp_port	smtp_usersmtp_password	smtp_fromtelegram_bot_tokentelegram_chat_idapi_rate_limit_per_minuteretention_1m_daysretention_1h_daysmax_aggregate_risk_pctmax_open_positionsmax_correlationgo_no_go_min_tradesgo_no_go_min_sharpego_no_go_max_drawdowngo_no_go_min_profit_factorcanary_capital_usdtflash_crash_threshold_pctws_max_disconnect_secondsbinance_recv_windowcanonical_timezonedaily_reset_hour_utc)r0   r   r>   intr
   r   float)r1   r2   s   "r   r3   r4      s     -  6      `  "%)   #& $ \% & Y' , /- . 7/ 0 ;1 6 7 8  9 :  ; < <= > ;? D 3E F #*G H #YBI J !*K P "(Q R #S T  U V  #W X  Y Z !%[ \ ] b #(c d !'e f  $g l m n o p q r s t u v  w x y ~  #( D E F  G L "'M N O P  Q V !W X $Y Z !'[ \ !&+] b &c h  %*i j  #'k p #q v #w x !y r   r   N)BTCUSDTETHUSDTBNBUSDT)Ir   r   r   r   r   model_configrE   r   r   rF   rG   rH   r   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r@   rS   rT   r
   r   r)   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   r   classmethodr:   propertyrB   __annotate_func__r   __classdictcell__)r2   s   @r   r    r       s    %!	L .H*66KEJP]_`J')%& ]LY 0I7!; O  O<;N !, 3 3L%*!BO#* %) # "# #%I &)#'"$ IIIMI  &)    %( O  "!$#'(+ "' (+%'  $ $ !^(3  4 X XO  r   r    c                $    V ^8  d   QhR\         /# r=   r    )r1   s   "r   r3   r3      s      h r   c                      \        4       # r6   r   r   r   r   get_settingsr      s
    :r   N)__doc__enumr   	functoolsr   typingr   pydanticr   r   pydantic_settingsr   r   r0   r
   r   r    r   r   r   r   <module>r      sX    ;    + >#t #t hX| hXV  r   