
    	%j3                     Z    d dl Zd dlmc mZ d dlmZ d dlm	Z	m
Z
 d Zd Zd Zd Zd ZdS )	    N)Account)diagnose_hyperliquid_envload_hyperliquid_envc          	      H    |                      d| d| d| dd           d S )NzHL_ACCOUNT_ADDRESS=z
HL_AGENT_PRIVATE_KEY=z
HL_AGENT_WALLET_ADDRESS=
utf-8encoding)
write_text)pathaccount_addressagent_private_keyagent_wallet_addresss       ^/home/agent/projects/CryptoTradingBot/Crypto_Agent/tests/test_hyperliquid_agent_credentials.py_write_agent_envr      s\    OO	<o 	< 	< 1	< 	<#7	< 	< 	< 	          c           	          t          j                    }t          j                    }t          | dz  |j        |j                                        |j                   t          d| fd          }|j        }|j        }||k    }|st          j	        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          d	t          j                    v st          j        |          rt          j        |          nd	t          j        |          d
z  }dd|iz  }t          t          j        |                    d x}x}}|j        }|j        }|j        }	 |	            }
||
k    }|st          j	        d|fd||
f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |	          t          j        |
          dz  }dd|iz  }t          t          j        |                    d x}x}x}x}	}
|j        }|j        }||k    }|st          j	        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          dt          j                    v st          j        |          rt          j        |          ndt          j        |          d
z  }dd|iz  }t          t          j        |                    d x}x}}|j        }|j        }||k    }|st          j	        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          dt          j                    v st          j        |          rt          j        |          ndt          j        |          d
z  }dd|iz  }t          t          j        |                    d x}x}}|j        }d}||u }|st          j	        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}|j        }d}||u }|st          j	        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}|j        }|j        }||k    }|st          j	        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          d	t          j                    v st          j        |          rt          j        |          nd	t          j        |          d
z  }dd|iz  }t          t          j        |                    d x}x}}|j        }d}||u }|st          j	        d|fd||f          dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}d S )NTestnet.envr   r   r   testnetsignedsearch_dirsvalidation_mode)==)zT%(py2)s
{%(py2)s = %(py0)s.account_address
} == %(py6)s
{%(py6)s = %(py4)s.address
}cfgaccount)py0py2py4py6zassert %(py8)spy8)z%(py2)s
{%(py2)s = %(py0)s.agent_private_key
} == %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s.key
}.hex
}()
}agent)r   r   r    r!   r"   py10zassert %(py12)spy12)zb%(py2)s
{%(py2)s = %(py0)s.agent_wallet_address_from_env
} == %(py6)s
{%(py6)s = %(py4)s.address
})za%(py2)s
{%(py2)s = %(py0)s.agent_wallet_address_derived
} == %(py6)s
{%(py6)s = %(py4)s.address
}Tis)zL%(py2)s
{%(py2)s = %(py0)s.agent_wallet_key_matches_private_key
} is %(py5)s)r   r   py5zassert %(py7)spy7F)zS%(py2)s
{%(py2)s = %(py0)s.account_address_equals_agent_wallet_address
} is %(py5)s)zX%(py2)s
{%(py2)s = %(py0)s.sdk_account_address
} == %(py6)s
{%(py6)s = %(py4)s.address
})zB%(py2)s
{%(py2)s = %(py0)s.safe_to_run_testnet_smokes
} is %(py5)s)r   creater   addresskeyhexr   r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr   agent_wallet_address_from_envagent_wallet_address_derived$agent_wallet_key_matches_private_key+account_address_equals_agent_wallet_addresssdk_account_addresssafe_to_run_testnet_smokes)tmp_pathr   r#   r   @py_assert1@py_assert5@py_assert3@py_format7@py_format9@py_assert7@py_assert9@py_format11@py_format13@py_assert4@py_format6@py_format8s                   r   Dtest_signed_credentials_use_account_for_sdk_and_agent_key_for_signerrI      s   nGNE= )--//"]	    yxkS[
\
\
\C1'/1/1111111111/111111111111311111311111111111111111'11111'111111/111111111111111111111111111 3EI3IM3MMOO3 O3333333333 O3333333333333333333333333 33333333333E33333E333333I3333M3333O3333333333333333333333333333333,==,==========,============3=====3======,=================================================+<u}<+}<<<<<<<<<<+}<<<<<<<<<<<<3<<<<<3<<<<<<+<<<<<<<<<<<u<<<<<u<<<<<<}<<<<<<<<<<<<<<<<<<<<<<<<<<<3;t;3t;;;;;;;;;;3t;;;;;;;;;;;;3;;;;;3;;;;;;3;;;;t;;;;;;;;;;;;;;;;;;;;;;;;;;;:CeC:eCCCCCCCCCC:eCCCCCCCCCCCC3CCCCC3CCCCCC:CCCCeCCCCCCCCCCCCCCCCCCCCCCCCCCC"5go5"o5555555555"o5555555555553555553555555"55555555555g55555g555555o555555555555555555555555555)1T1)T1111111111)T1111111111113111113111111)1111T11111111111111111111111111111r   c                    t          j                    }t          j                    }t          j                    j        }t          | dz  |j        |j                                        |           t          d| fd          }|d         }d}||u }|slt          j        d|fd	||f          t          j	        |          t          j	        |          d
z  }dd|iz  }	t          t          j        |	                    d x}x}}d}|d         }||v }|slt          j        d|fd||f          t          j	        |          t          j	        |          d
z  }dd|iz  }	t          t          j        |	                    d x}x}}|d         }d}||u }|slt          j        d|fd	||f          t          j	        |          t          j	        |          d
z  }dd|iz  }	t          t          j        |	                    d x}x}}d S )Nr   r   r   r   r   r8   Fr&   z%(py1)s is %(py4)spy1r    assert %(py6)sr!   !agent_wallet_private_key_mismatcherrorsinz%(py1)s in %(py4)sr;   )r   r*   r+   r   r,   r-   r   r.   r/   r3   r4   r5   )
r<   r   r#   wrong_agent_addressdiag@py_assert0r?   @py_assert2@py_format5r@   s
             r   9test_signed_credentials_block_when_agent_address_mismatchrY   %   s|   nGNE!.**2= )--//0	    $IH;X`aaaD67@5@75@@@@@@@@@@75@@@@@7@@@@5@@@@@@@@@@@@@@@@@@@@@@@@@@@.@$x.@..@@@@@@@@@@..@@@@@.@@@@.@@@@@@@@@@@@@@@@@@@@@@@@@@@,-66-6666666666-66666-666666666666666666666666666666666r   c                    t          j                    }t          | dz  |j        |j                                        |j                   t          d| fd          }|d         }d}||u }|slt          j        d|fd	||f          t          j	        |          t          j	        |          d
z  }dd|iz  }t          t          j        |                    d x}x}}d}|d         }||v }|slt          j        d|fd||f          t          j	        |          t          j	        |          d
z  }dd|iz  }t          t          j        |                    d x}x}}|d         }d}||u }|slt          j        d|fd	||f          t          j	        |          t          j	        |          d
z  }dd|iz  }t          t          j        |                    d x}x}}d S )Nr   r   r   r   r   r9   Tr&   rK   rL   rN   r!   rP   rQ   rS   r;   F)r   r*   r   r+   r,   r-   r   r.   r/   r3   r4   r5   )r<   r#   rU   rV   r?   rW   rX   r@   s           r   >test_signed_credentials_block_when_account_equals_agent_walletr[   7   s`   NE= )--//"]	    $IH;X`aaaD=>F$F>$FFFFFFFFFF>$FFFFF>FFFF$FFFFFFFFFFFFFFFFFFFFFFFFFFF8JDNJ8NJJJJJJJJJJ8NJJJJJ8JJJJNJJJJJJJJJJJJJJJJJJJJJJJJJJJ,-66-6666666666-66666-666666666666666666666666666666666r   c           	         t          j                    }t          j                    }| dz                      d|j         d|j                                         d|j         dd           t          d| fd	
          }|d         }|j        }|j        d d         } ||          }|ssdt          j	        |          t          j	        |          t          j	        |          t          j	        |          dz  }t          t          j        |                    d x}x}x}}|d         }|j        }|j        d d         } ||          }|ssdt          j	        |          t          j	        |          t          j	        |          t          j	        |          dz  }t          t          j        |                    d x}x}x}}|d         }d}	||	u }|slt          j        d|fd||	f          t          j	        |          t          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	d}|d         }	||	v }|slt          j        d|fd||	f          t          j	        |          t          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	|d         }d}	||	u }|slt          j        d|fd||	f          t          j	        |          t          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	d S )Nr   zHL_WALLET_ADDRESS=z
HL_API_PRIVATE_KEY=z
API_Wallet_Adress=r   r   r	   r   r   r   account_address_masked   zLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})rM   py3r(   r)   $agent_wallet_address_from_env_maskedr8   Tr&   rK   rL   rN   r!   legacy_env_names_usedwarningsrQ   rS   r;   )r   r*   r   r+   r,   r-   r   
startswithr.   r3   r4   r5   r/   )r<   r   r#   rU   rV   rW   rF   @py_assert6rH   r?   rX   r@   s               r   Atest_legacy_variable_names_still_supported_but_reported_as_legacyre   G   s   nGNE))	/W_ 	/ 	/#immoo	/ 	/"]	/ 	/ 	/ 	 *    $IH;X`aaaD()I)4IW_RaR5HI445HIIIIIIII)IIII4IIII5HIIIIIIIIIIIIIIIIIIIIIIIIIIII67U7BU5=QSRSQSCTUBBCTUUUUUUUU7UUUUBUUUUCTUUUUUUUUUUUUUUUUUUUUUUUUUUUU67?4?74??????????74?????7????4???????????????????????????"6d:&66"&66666666666"&666666"6666&6666666666666666666666666666,-55-5555555555-55555-555555555555555555555555555555555r   )builtinsr0   _pytest.assertion.rewrite	assertionrewriter.   eth_accountr   src.config.hyperliquid_envr   r   r   rI   rY   r[   re    r   r   <module>rm      s                        U U U U U U U U  2 2 2,7 7 7$7 7 7 6 6 6 6 6r   