
    %j]                        d dl mZ d dlmZ d dlmZmZmZ  ed           G d d                      ZddZ	ddddZ
ddZdS )    )annotations)	dataclass)Decimal
ROUND_DOWNlocalcontextT)frozenc                  .    e Zd ZU ded<   ded<   ded<   dS )HyperliquidAssetMetastrcoinintasset_idsz_decimalsN)__name__
__module____qualname____annotations__     N/home/agent/projects/CryptoTradingBot/Crypto_Agent/src/hyperliquid/rounding.pyr
   r
      s0         IIIMMMr   r
   sizer   metareturnc                    | dk    rt          d          t          d                              |j                   }|                     |t
                    S )Nr   zsize must be positive1rounding)
ValueErrorr   scalebr   quantizer   )r   r   quantums      r   round_hyperliquid_sizer"      sO    qyy0111cll!!4#3"344G==:=666r      )significant_figurespricer$   r   c                  | dk    rt          d          |                                 }t          d                    ||z
  dz                       }t	                      5 }t          d|t          |          z   dz             |_        | |z                      t                    |z  }d d d            n# 1 swxY w Y   |
                                S )Nr   zprice must be positivez1e{}         r   )r   adjustedr   formatr   maxabsprecto_integral_valuer   	normalize)r%   r$   r*   exponentctxroundeds         r   round_hyperliquid_pricer4      s   zz1222~~Hv}}X0C%Ca%GHHIIH	 W3r.X>BCC8#66
6KKhVW W W W W W W W W W W W W W W s    A
B66B:=B:min_notional_usdboolc                    | |z  |k    S )Nr   )r   r%   r5   s      r   validate_min_notionalr8       s    5L---r   N)r   r   r   r
   r   r   )r%   r   r$   r   r   r   )r   r   r%   r   r5   r   r   r6   )
__future__r   dataclassesr   decimalr   r   r   r
   r"   r4   r8   r   r   r   <module>r<      s    " " " " " " ! ! ! ! ! ! 5 5 5 5 5 5 5 5 5 5 $       7 7 7 7 KL      . . . . . .r   