
    %jy                     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_WALLET_ADDRESS=z
HL_API_PRIVATE_KEY=z&
API Wallet Name=Hermes Agent
API Key=
zutf-8)encoding)
write_text)pathwalletprivate_keyapi_keys       W/home/agent/projects/CryptoTradingBot/Crypto_Agent/tests/test_hyperliquid_env_loader.py
_write_envr      s^    OO	V 	 	)	 	 	 	 	           c                    t          j                    }t          j                    }t          j                    j        }t          j                    j        }t          | dz  ||j                                        |j                   t          | dz  ||j                                        |j                   t          d| f          }|j        }d}||k    }|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        }d}||k    }|st          j	        d|fd||f          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}}|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dz  }dd|iz  }t          t          j        |                    d 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}}|                                d          }|j        }|d d!         } ||          }|ssd"t          j        |          t          j        |          t          j        |          t          j        |          d#z  }
t          t          j        |
                    d x}x}x}}|j        }|j        } |            }|j        } |            }t3          |          }||v}|s|t          j	        d$|fd%||f          d&t          j                    v st          j        |          rt          j        |          nd&t          j        |          t          j        |          t          j        |          d't          j                    v st          j        t2                    rt          j        t2                    nd'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}x}x}}d S )+NMainnet.envr   r   r   Testnet.envtestnetsearch_dirs)==)z+%(py2)s
{%(py2)s = %(py0)s.env
} == %(py5)scfg)py0py2py5zassert %(py7)spy7)zO%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.env_file_path
}.name
} == %(py7)s)r   r   py4r   zassert %(py9)spy9)z7%(py2)s
{%(py2)s = %(py0)s.account_address
} == %(py4)stest_wallet)r   r   r   assert %(py6)spy6)z`%(py2)s
{%(py2)s = %(py0)s.api_wallet_address_from_env
} == %(py6)s
{%(py6)s = %(py4)s.address
}	test_acct)r   r   r   r"   zassert %(py8)spy8)z_%(py2)s
{%(py2)s = %(py0)s.api_wallet_address_derived
} == %(py6)s
{%(py6)s = %(py4)s.address
}Tis)zB%(py2)s
{%(py2)s = %(py0)s.safe_to_run_testnet_smokes
} is %(py5)sF)z<%(py2)s
{%(py2)s = %(py0)s.will_use_mainnet_key
} is %(py5)saccount_address_masked   zLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})py1py3r   r   )not in)z%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.key
}.hex
}()
} not in %(py15)s
{%(py15)s = %(py8)s(%(py13)s
{%(py13)s = %(py11)s
{%(py11)s = %(py9)s.masked
}()
})
}	main_acctstr)	r   r   r   r"   r$   r   py11py13py15zassert %(py17)spy17)r   createaddressr   keyhexr   env
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationenv_file_pathnameaccount_addressapi_wallet_address_from_envapi_wallet_address_derivedsafe_to_run_testnet_smokeswill_use_mainnet_keymasked
startswithr-   )tmp_pathr,   r#   main_walletr    r   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_assert6@py_assert5@py_format10@py_format5@py_format7@py_format9@py_assert0@py_assert2@py_assert10@py_assert12@py_assert14@py_assert7@py_format16@py_format18s                            r   2test_loader_uses_only_requested_env_file_and_masksr]      s+
     I  I.""*K.""*Kx-'IZIZI\I\fofwxxxxx-'IZIZI\I\fofwxxxx
yxk
B
B
BC7i7i7i337i2!2]2!]2222222222!]22222222222232222232222222222!2222]22222222222222222222222222222-+----------+------------3-----3-----------------+-----+---------------------------*?i.??*.???????????*.?????????????3?????3??????*???????????i?????i??????.????????????????????????????)>Y->>)->>>>>>>>>>>)->>>>>>>>>>>>>3>>>>>3>>>>>>)>>>>>>>>>>>Y>>>>>Y>>>>>>->>>>>>>>>>>>>>>>>>>>>>>>>>>>)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#,u,#u,,,,,,,,,,#u,,,,,,,,,,,,3,,,,,3,,,,,,#,,,,u,,,,,,,,,,,,,,,,,,,,,,,,,,,::<<01M1<M[!_M<<_MMMMMMMM1MMMM<MMMM_MMMMMMMMMMMMMMMMMMMMMMMMMMMM=7=77#*7**,,7c,&7&77&77777777777&77777777777779777779777777=7777777777777777777c77777c7777777777777#77777#777777*7777,7777&77777777777777777777777777777777777777r   c                    t          j                    }t          | dz  t          j                    j        |j                                        |j                   t          d| f          }|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}||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 S )Nr   r   r   r   env_file_foundFr%   z%(py1)s is %(py4)sr)   r   r!   r"   rD   missing_env_fileerrorsinz%(py1)s in %(py4)sr   r2   r   r3   r4   r5   r   r7   r8   r<   r=   r>   rH   acctdiagrU   rL   rV   rR   rS   s           r   Itest_loader_fails_closed_when_requested_file_missing_even_if_other_existsrk   %   s`   >Dx-'0@0@0HVZV^VbVbVdVdnrnz{{{{#IH;GGGD !*U*!U**********!U*****!****U***************************,-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/h/////////////////////////////////////////////////r   c                    t          j                    }t          j                    }t          | dz  |j        |j                                        |j                   t          d| f          }|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}||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   "api_wallet_key_matches_private_keyFr%   r`   ra   r!   r"   )account_address_equals_api_wallet_addressapi_key_private_key_mismatchrc   rd   rf   rD   rg   )	rH   ri   otherrj   rU   rL   rV   rR   rS   s	            r   Mtest_loader_blocks_api_key_private_key_mismatch_and_account_equals_api_walletrq   0   s   >DNEx-'$(,,..bgbopppp#IH;GGGD45>>5>>>>>>>>>>5>>>>>5>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;<EE<EEEEEEEEEE<EEEEE<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE);T(^;)^;;;;;;;;;;)^;;;;;);;;;^;;;;;;;;;;;;;;;;;;;;;;;;;;;,-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}||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   rn   Tr%   r`   ra   r!   r"   rc   rd   rf   rD   Frg   rh   s           r   6test_loader_blocks_account_address_equal_to_api_walletrs   =   sQ   >Dx-'$(,,..bfbnoooo#IH;GGGD;<DD<DDDDDDDDDD<DDDDD<DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD6H$x.H6.HHHHHHHHHH6.HHHHH6HHHH.HHHHHHHHHHHHHHHHHHHHHHHHHHH,-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   )builtinsr9   _pytest.assertion.rewrite	assertionrewriter7   eth_accountr   src.config.hyperliquid_envr   r   r   r]   rk   rq   rs    r   r   <module>r{      s                        U U U U U U U U  8 8 8*0 0 0
7 
7 
77 7 7 7 7r   