
    %j	                     N    d dl mZ d dlmZ d dlmZ d dlmZ d Zd Z	d Z
d Zd	S )
    )Decimal)HyperliquidTestnetExecutor)OrderIntent)HyperliquidAssetMetac                  T   t          d i ddddddddd	d
dddddt          d          dt          d          dd dt          d          dt          d          dddddt          d          dt          d          }|                    |            t          d i |S )!Nstrategy_id)candidate_v76_hl_confirmed_squeeze_hybridsymbolzBTC/USDC:USDCcoinBTCsidebuyreduce_onlyF
order_typelimittifAlosizez0.010009pricez
99999.9876trigger_price	stop_loss99000take_profit105000client_order_idz	v76-BTC-1reasonpayload_smokerisk_usdz1.25estimated_notional_usd1000 )dictr   updater   )	overridesbases     +tests/test_hyperliquid_executor_payloads.py_intentr'      s+      ?? U U	
 E 7 E Z    l### d '""" H%%% $     'v!D$ 	KK	    c                    |                      dd           t          d dd          }|                    t                      t	          ddd          t          d	          
          }|j        du sJ |j        d         dk    sJ |j        d         dk    sJ |j        d         dk    sJ |j        d         dk    sJ |j        d         dk    sJ |j        d         du sJ |j	        d         du sJ d S )N
CTB_HL_ENVtestnet
TESTNET OKTexchangeexpected_confirmationdry_runr   r      10min_notional_usdr   r   z0.01000r   99999r   r   r   r   r   )
setenvr   prepare_payloadr'   r   r   acceptedpayloadstop_loss_payloadtake_profit_payloadmonkeypatchexecutorresults      r&   Btest_testnet_executor_builds_rounded_payload_without_exchange_callr@      s&   |Y///)4|eijjjH%%gii1EeQPQ1R1Relmqerer%ssF?d"""">&!U****>&!Y....>'"g---->,'72222>% E))))#M2d::::%m4<<<<<<r(   c                    |                      dd           t          d dd          }|                    t                      t	          ddd          t          d	          
          }|j        du sJ d|j        v sJ d S )Nr*   mainnetr,   Tr-   r   r   r1   r2   r3   Ftestnet_env_required)r6   r   r7   r'   r   r   r8   reasonsr<   s      r&   )test_testnet_executor_rejects_mainnet_envrE   /   s    |Y///)4|eijjjH%%gii1EeQPQ1R1Relmqerer%ssF?e####!V^333333r(   c                     |                      dd           t          d dd          }|                    t          t	          d                    t          dd	d
          t	          d                    }|j        du sJ d|j        v sJ d S )Nr*   r+   r,   Tr-   z0.00001)r   r   r   r1   r2   r3   Fmin_notional)r6   r   r7   r'   r   r   r8   rD   r<   s      r&   *test_testnet_executor_rejects_min_notionalrH   9   s    |Y///)4|eijjjH%%g793E3E&F&F&FH\]bdeghHiHi  }D  EI  }J  }J%  K  KF?e####V^++++++r(   N)decimalr   *src.execution.hyperliquid_testnet_executorr   src.execution.order_intentr   src.hyperliquid.roundingr   r'   r@   rE   rH   r!   r(   r&   <module>rM      s          Q Q Q Q Q Q 2 2 2 2 2 2 9 9 9 9 9 9  .= = = 4 4 4, , , , ,r(   