ó
    O
ÞjÚ  ã                  ón  • S SK Jr  S SKrS SKJrJr  S SKJr  S SKJ	r	J
r
  S SKr\ " S S5      5       r\ " S S	5      5       r\ " S
 S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       rSS jrSS jrg)é    )ÚannotationsN)Ú	dataclassÚfield)ÚPath)ÚAnyÚOptionalc                  óN   • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   S	rS
\S'   Sr	g	)ÚVenueCfgé   z#https://mainnet.zklighter.elliot.aiÚstrÚrest_urlz6wss://mainnet.zklighter.elliot.ai/stream?readonly=trueÚws_urlÚBTCÚsymbolNzOptional[int]Ú	market_id© )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__annotations__r   r   r   Ú__static_attributes__r   ó    Úsrc/config.pyr
   r
      s*   ‡ à9€HˆcÓ9ØJ€FˆCÓJØ€FˆCÓØ#€Iˆ}Ö#r   r
   c                  ó2   • \ rS rSr% SrS\S'   SrS\S'   Srg)Ú
CapitalCfgé   g     @�@ÚfloatÚpaper_equity_usdÚtarget_working_usdr   N)r   r   r   r   r   r   r    r   r   r   r   r   r      s   ‡ à$Ð�eÓ$Ø &Ð˜Ö&r   r   c                  óÚ   • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   S	rS
\S'   Sr	S\S'   Sr
S\S'   SrS\S'   SrS\S'   SrS
\S'   SrS
\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   Srg )!Ú
QuotingCfgé   ç      $@r   Úlot_usd_ming      9@Úlot_usd_maxç       @Úhalf_spread_bpsi|  ÚintÚrequote_interval_msg      T@Úinventory_skew_bps_per_btcg{®Gázt?Úmax_inventory_btcTÚboolÚ	post_onlyg      (@Úaccount_refresh_sé   Ún_bid_levelsÚn_ask_levelsg      à?Úlevel_spacing_bpsg      @Úrest_threshold_bpsÚbatch_placeg      D@Ú
min_rest_sr   N)r   r   r   r   r%   r   r&   r(   r*   r+   r,   r.   r/   r1   r2   r3   r4   r5   r6   r   r   r   r   r"   r"      s”   ‡ à€K�ÓØ€K�ÓØ €O�UÓ à#Ð˜Ó#Ø(,Ð Ó,Ø$Ð�uÓ$Ø€IˆtÓà#Ð�uÓ#à€L�#ÓØ€L�#ÓØ"Ð�uÓ"à #Ð˜Ó#à€K�Óà€J�Ör   r"   c                  ó\   • \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   S
rS\S'   Sr	S\S'   Sr
g)ÚRiskCfgé1   g      ð¿r   Úkill_day_pnl_pctià.  r)   Úmax_fills_per_dayg      @Úsoft_leverage_minr$   Úsoft_leverage_maxg      y@Úmax_notional_usdr   N)r   r   r   r   r:   r   r;   r<   r=   r>   r   r   r   r   r8   r8   1   s9   ‡ à"Ð�eÓ"Ø"Ð�sÓ"Ø"Ð�uÓ"Ø#Ð�uÓ#Ø#Ð�eÖ#r   r8   c                  ó\   • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   S	rS\S
'   Sr	S\S'   Sr
g)ÚPaperCfgé:   Tr-   Úfill_on_touchç        r   Úmaker_fee_bpsÚtaker_fee_bpsFÚsimulate_partialÚnear_fill_bpsr   N)r   r   r   r   rB   r   rD   rE   rF   rG   r   r   r   r   r@   r@   :   s5   ‡ à€M�4ÓØ€M�5ÓØ€M�5ÓØ"Ð�dÓ"Ø€M�5Ör   r@   c                  ó2   • \ rS rSr% SrS\S'   SrS\S'   Srg	)
Ú	StatusCfgéC   zdata/status.jsonr   Úpathr'   r   Úconsole_every_sr   N)r   r   r   r   rK   r   rL   r   r   r   r   rI   rI   C   s   ‡ à"€Dˆ#Ó"Ø €O�UÖ r   rI   c                  ó$   • \ rS rSr% SrS\S'   Srg)ÚRunCfgéI   rC   r   Ú
duration_sr   N)r   r   r   r   rP   r   r   r   r   r   rN   rN   I   s   ‡ à€J�Ör   rN   c                  óD   • \ rS rSr% SrSrS\S'   SrS\S'   S	rS\S
'   Sr	g)ÚRateLimitCfgéN   z5Soft pace for Lighter REST (L1 address: 40/60s hard).é$   r)   Úmax_per_windowg      N@r   Úwindow_sg      ø?Úon_429_backoff_sr   N)
r   r   r   r   Ú__doc__rU   r   rV   rW   r   r   r   r   rR   rR   N   s$   ‡ á?Ø€N�CÓØ€HˆeÓØ!Ð�eÖ!r   rR   c                  óö   • \ rS rSr% SrS\S'   SrS\S'   \" \S9r	S	\S
'   \" \
S9rS\S'   \" \S9rS\S'   \" \S9rS\S'   \" \S9rS\S'   \" \S9rS\S'   \" \S9rS\S'   \" \S9rS\S'   \SS j5       rSrg)Ú	AppConfigéV   Úpaperr   ÚmodeFr-   Úlive_enabled)Údefault_factoryr
   Úvenuer   Úcapitalr"   Úquotingr8   Úriskr@   rI   ÚstatusrN   ÚrunrR   Ú
rate_limitc                óš   • U R                   S:H  =(       a6    U R                  =(       a#    [        R                  R	                  SS5      S:H  $ )NÚliveÚLIVEÚ Ú1)r]   r^   ÚosÚenvironÚget)Úselfs    r   Úis_liveÚAppConfig.is_livec   s?   € ð �I‰I˜Ñ÷ 2Ø×!Ñ!÷2ä—
‘
—‘˜v rÓ*¨cÑ1ð	
r   r   N)Úreturnr-   )r   r   r   r   r]   r   r^   r   r
   r`   r   ra   r"   rb   r8   rc   r@   r\   rI   rd   rN   re   rR   rf   Úpropertyrp   r   r   r   r   rZ   rZ   V   s    ‡ à€Dˆ#ÓØ€L�$ÓÙ¨HÑ5€Eˆ8Ó5Ù°
Ñ;€GˆZÓ;Ù°
Ñ;€GˆZÓ;Ù¨'Ñ2€Dˆ'Ó2Ù¨HÑ5€Eˆ8Ó5Ù¨iÑ8€FˆIÓ8Ù¨Ñ/€CˆÓ/Ù$°\ÑB€J�ÓBàó
ó ó
r   rZ   c           
     óø   • U=(       d    0 nU R                   R                  5        Vs1 s H  o"R                  iM     nnU " S0 UR                  5        VVs0 s H  u  pEXC;   d  M  XE_M     snnD6$ s  snf s  snnf )Nr   )Ú__dataclass_fields__ÚvaluesÚnameÚitems)Údc_clsÚdataÚfÚknownÚkÚvs         r   Ú_merger   l   sh   € Ø�:�2€DØ#×8Ñ8×?Ñ?ÔAÓBÒA˜�VŒVÑA€EÐBÙÑB d§j¡j¤lÔA¢l™d˜a°a±j“T�Q’T¡lÒAÑBÐBùò CùÛAs   ¨A1ÁA6Á%A6c                ó¸  • [        U 5      n [        R                  " U R                  5       5      =(       d    0 n[	        UR                  SS5      [        UR                  SS5      5      [        [        UR                  S5      5      [        [        UR                  S5      5      [        [        UR                  S5      5      [        [        UR                  S5      5      [        [        UR                  S5      5      [        [        UR                  S	5      5      [        [        UR                  S
5      5      [        [        UR                  S5      5      S9
$ )Nr]   r\   r^   Fr`   ra   rb   rc   rd   re   rf   )
r]   r^   r`   ra   rb   rc   r\   rd   re   rf   )r   ÚyamlÚ	safe_loadÚ	read_textrZ   rn   r-   r   r
   r   r"   r8   r@   rI   rN   rR   )rK   Úraws     r   Úload_configr…   r   sé   € Ü�‹:€DÜ
�.Š.˜Ÿ™Ó)Ó
*×
0¨b€CÜØ�W‰W�V˜WÓ%Ü˜#Ÿ'™' .°%Ó8Ó9Ü”X˜sŸw™w wÓ/Ó0Ü”z 3§7¡7¨9Ó#5Ó6Ü”z 3§7¡7¨9Ó#5Ó6Ü”G˜SŸW™W V›_Ó-Ü”X˜sŸw™w wÓ/Ó0Ü”i §¡¨Ó!2Ó3Ü”6˜3Ÿ7™7 5›>Ó*Üœ,¨¯©°Ó(=Ó>ñð r   )rz   zdict[str, Any] | None)rK   z
str | Pathrr   rZ   )Ú
__future__r   rl   Údataclassesr   r   Úpathlibr   Útypingr   r   r�   r
   r   r"   r8   r@   rI   rN   rR   rZ   r   r…   r   r   r   Ú<module>rŠ      s  ðÝ "ã 	ß (Ý ß  ã ð ÷$ð $ó ð$ð ÷'ð 'ó ð'ð
 ÷ð ó ðð. ÷$ð $ó ð$ð ÷ð ó ðð ÷!ð !ó ð!ð
 ÷ð ó ðð ÷"ð "ó ð"ð ÷
ð 
ó ð
ô*Cõr   