
    G~%j                     ^    d dl mZ d dlZd dlmZ d dlmZ d Z G d d          Zd Z	d	 Z
dS )
    )DecimalN)HyperliquidLiveExecutor)OrderIntentc                      t          di ddddddddd	d
dddddt          d          dd dd dt          d          dd dddddt          d          dt          d          S )Nstrategy_id)candidate_v76_hl_confirmed_squeeze_hybridsymbolzBTC/USDC:USDCcoinBTCsidebuyreduce_onlyF
order_typemarkettifIocsizez0.01pricetrigger_price	stop_loss99000take_profitclient_order_idz	v76-BTC-1reasonconfirmed_squeeze_breakoutrisk_usdz1.25estimated_notional_usd100 )r   r   r       )tests/test_hyperliquid_executor_dryrun.py_intentr"   	   s       ?? U U	
 E 8 E V___ d d '""" D $ ,+    'u~~~! r    c                       e Zd Zd Zd ZdS )FakeExchangec                     g | _         d S )N)calls)selfs    r!   __init__zFakeExchange.__init__   s    


r    c                 B    | j                             ||f           ddiS )Nstatusok)r&   append)r'   argskwargss      r!   market_openzFakeExchange.market_open"   s'    
4.)))$r    N)__name__
__module____qualname__r(   r/   r   r    r!   r$   r$      s2                   r    r$   c                 b   |                      dd           |                      dd           t                      }t          |d          }t          j        t
          d          5  |                    t                                 d d d            n# 1 swxY w Y   |j        g k    sJ d S )NCTB_LIVE_TRADING_ALLOWEDFraisingCTB_LIVE_CONFIRMATIONLIVE PREVIEW BTC)exchangeexpected_confirmation)match)	delenvr$   r   pytestraisesPermissionErrorexecuter"   r&   )monkeypatchfakeexecutors      r!   +test_live_executor_blocks_without_env_gatesrD   '   s    15AAA.>>>>>D&L^___H	.H	I	I	I $ $###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ :s   )"BBBc                    |                      dd           t                      }t          |dd          }|                    t	                                }|j        dk    sJ |j        dk    sJ |j        g k    sJ d S )	Nr4   Fr5   r8   T)r9   r:   dry_runrF   r   )r<   r$   r   r@   r"   r*   side_effectsr&   )rA   rB   rC   results       r!   =test_live_executor_dry_run_returns_plan_without_exchange_callrI   3   s    15AAA>>D&L^hlmmmHgii((F=I%%%%"$$$$:r    )decimalr   r=   'src.execution.hyperliquid_live_executorr   src.execution.order_intentr   r"   r$   rD   rI   r   r    r!   <module>rM      s           K K K K K K 2 2 2 2 2 2  *               	 	 		 	 	 	 	r    