
    %j                     J    d dl Zd dlmc mZ d dlmZ d dlm	Z	 d Z
d Zd ZdS )    N)Account)build_credential_matrixc          	      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       U/home/agent/projects/CryptoTradingBot/Crypto_Agent/tests/test_hl_credential_matrix.py
_write_envr      s^    OO	V 	 	)	 	 	 	 	           c           
      x   t          j                    }t          j                    j        }t          j                    j        }t          | dz  ||j                                        t          j                    j                   t          | dz  ||j                                        |j                   t          |           }|d         }dg}||k    }|slt          j        d|fd||f          t          j	        |          t          j	        |          d	z  }d
d|iz  }	t          t          j        |	                    d x}x}}|d         }
d |
D             }t          | dz            t          | dz            g}||k    }|slt          j        d|fd||f          t          j	        |          t          j	        |          d	z  }d
d|iz  }	t          t          j        |	                    d x}x}}|
d         d         }d}||k    }|slt          j        d|fd||f          t          j	        |          t          j	        |          d	z  }d
d|iz  }	t          t          j        |	                    d x}x}}|
d         d         }d}||k    }|slt          j        d|fd||f          t          j	        |          t          j	        |          d	z  }d
d|iz  }	t          t          j        |	                    d x}x}}|
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         }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         }d}||u }|slt          j        d|fd||f          t          j	        |          t          j	        |          d	z  }d
d|iz  }	t          t          j        |	                    d x}x}}|j        }|j        } |            }t          |          }||v}|sVt          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        t                    rt          j	        t                    nd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}x}x}}d S )!NzMainnet.envr
   r   r   Testnet.envbase_dirwarnings"same_private_key_used_in_both_envs)==)z%(py1)s == %(py4)spy1py4assert %(py6)spy6filesc                     g | ]
}|d          S )file ).0rows     r   
<listcomp>zMtest_credential_matrix_masks_and_detects_same_private_key.<locals>.<listcomp>   s    (((CCK(((r   r   	env_guessmainnet   testnetprivate_key_matches_API_KeyFisz%(py1)s is %(py4)sTsafe_for_testnet_signed_probe)not in)z%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.key
}.hex
}()
} not in %(py11)s
{%(py11)s = %(py8)s(%(py9)s)
}signerstrresult)py0py2r   r   py8py9py11zassert %(py13)spy13)r   createaddressr   keyhexr   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationr/   @py_builtinslocals_should_repr_global_name)tmp_pathr.   main_wallettest_walletr0   @py_assert0@py_assert3@py_assert2@py_format5@py_format7rows@py_assert1@py_assert5@py_assert10@py_assert7@py_format12@py_format14s                    r   9test_credential_matrix_masks_and_detects_same_private_keyrR      s/   ^F.""*K.""*Kx-'IYIYcjcqcscsc{||||x-'IYIYcicqrrrr$h777F*G"F!GG!GGGGGGGGGGG!GGGGGGGGGG!GGGGGGGGGGGGGGGGGGGGGGGGGGGG'?D((4(((jSM1I-J-JCPX[hPhLiLi,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jjjjjjjjjjjjjjjjjjjjjjjj7;,9,9,,,,,,,,,,9,,,,,,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,7;,9,9,,,,,,,,,,9,,,,,,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,701:U:1U::::::::::1U:::::1::::U:::::::::::::::::::::::::::7019T91T99999999991T9999919999T999999999999999999999999999723;t;3t;;;;;;;;;;3t;;;;;3;;;;t;;;;;;;;;;;;;;;;;;;;;;;;;;;:.:>.>>.3v;;.;..........;............6.....6......:....>...............3.....3.............v.....v......;.................................r   c                    t          j                    }t          j                    j        }t          | dz  ||j                                        |j                   t          |           }|d         d         }|d         }|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}
||
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   recommended_account_address   zLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})r   py3py5py7recommended_signer_address!looks_like_api_wallet_private_keyTr)   r+   r   r   r   "looks_like_main_wallet_private_keyF)r   r7   r8   r   r9   r:   r   
startswithr;   r=   r>   r?   r<   )rC   r.   r
   r0   r"   rF   rH   @py_assert4@py_assert6@py_format8rG   rI   rJ   s                r   Itest_credential_matrix_recommends_wallet_as_account_and_signer_as_derivedr`   $   s4   ^F^%Fx-'FJNNDTDT^d^lmmmm$h777F
/!
C,-D-8DD88DDDDDDDD-DDDD8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+,K,7Krr8JK778JKKKKKKKK,KKKK7KKKK8JKKKKKKKKKKKKKKKKKKKKKKKKKKKK23;t;3t;;;;;;;;;;3t;;;;;3;;;;t;;;;;;;;;;;;;;;;;;;;;;;;;;;34==4==========4=====4=================================r   )builtinsr@   _pytest.assertion.rewrite	assertionrewriter;   eth_accountr   src.tools.hl_credential_matrixr   r   rR   r`   r    r   r   <module>rg      s{                        B B B B B B  / / /(> > > > >r   