
    %jM                        d dl mZ d dlmZ d dlmZ d dlmZ ed         Zed         Z	ed         Z
 ed	           G d
 d                      ZdS )    )annotations)	dataclass)Decimal)Literal)buysell)marketlimittrigger)AloIocGtcT)frozenc                      e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ddZdS )OrderIntentstrstrategy_idsymbolcoinSidesideboolreduce_only	OrderType
order_typezTimeInForce | Nonetifr   sizezDecimal | Nonepricetrigger_price	stop_losstake_profitclient_order_idreasonrisk_usdestimated_notional_usdreturnNonec                    | j         st          d          | j        r"| j        | j                                        k    rt          d          | j        dk    rt          d          | j        dk     rt          d          | j        dk     rt          d          | j        s| j        t          d          | j	        dk    r| j
        t          d	          | j	        d
k    r| j        t          d          d S d S )Nzstrategy_id is requiredzcoin must be uppercaser   zsize must be positivez+estimated_notional_usd must be non-negativezrisk_usd must be non-negativez$entry OrderIntent requires stop_lossr
   z limit OrderIntent requires pricer   z*trigger OrderIntent requires trigger_price)r   
ValueErrorr   upperr   r%   r$   r   r    r   r   r   )selfs    P/home/agent/projects/CryptoTradingBot/Crypto_Agent/src/execution/order_intent.py__post_init__zOrderIntent.__post_init__   s    	86777y 	7DI):):::56669>>4555&**JKKK=1<=== 	EDN$:CDDD?g%%$**<?@@@?i''D,>,FIJJJ (',F,F    N)r&   r'   )__name__
__module____qualname____annotations__r-    r.   r,   r   r      s         KKKIIIJJJMMM!!!!KKK####K K K K K Kr.   r   N)
__future__r   dataclassesr   decimalr   typingr   r   r   TimeInForcer   r3   r.   r,   <module>r9      s    " " " " " " ! ! ! ! ! !            }01	)* $"K "K "K "K "K "K "K "K "K "Kr.   