a
    bg	                     @  sR   d Z ddlmZ ddlZddlmZmZmZ er<ddlm	Z	 dddd	d
dZ
dS )z AINetwork Blockchain tool utils.    )annotationsN)TYPE_CHECKINGLiteralOptionalAintestnetz'Optional[Literal['mainnet', 'testnet']]r   )networkreturnc              
   C  s  zddl m} W n. ty> } ztd|W Y d}~n
d}~0 0 | dkrpd}d}dtjv rftjd }ntd	n| d
krd}d}dtjv rtjd }ntd	nb| du rdtjv rdtjv rdtjv rtjd }ttjd }tjd }ntdntd|  |||}|j	| |S )z%Authenticate using the AIN Blockchainr   r   z[Cannot import ain-py related modules. Please install the package with `pip install ain-py`.NZmainnetz!https://mainnet-api.ainetwork.ai/   Z"AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEYzVError: The AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY environmental variable has not been set.r   z!https://testnet-api.ainetwork.ai/ZAIN_BLOCKCHAIN_PROVIDER_URLZAIN_BLOCKCHAIN_CHAIN_IDzError: The AIN_BLOCKCHAIN_PROVIDER_URL and AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY and AIN_BLOCKCHAIN_CHAIN_ID environmental variable has not been set.zUnsupported 'network': )
ain.ainr   ImportErrorosenvironEnvironmentErrorint
ValueErrorZwalletZaddAndSetDefaultAccount)r	   r   eZprovider_urlZchain_idZprivate_keyZain r   w/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/tools/ainetwork/utils.pyauthenticate   sR    



r   )r   )__doc__
__future__r   r   typingr   r   r   r   r   r   r   r   r   r   <module>   s   