o
    ¢ØÆh0  ã                   @   sÎ   d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 eG dd„ dƒƒZ
dee
 fd	d
„Zeƒ Zdd„ eD ƒZdd„ eD ƒZdd„ eD ƒZdede
fdd„Zdedefdd„Zdedefdd„ZdS )é    )Ú	dataclassN)ÚList)ÚChainId)ÚValidationErrorc                   @   s.   e Zd ZU eed< eed< eed< eed< dS )ÚNetworkÚchain_idÚnameÚ	shortNameÚsymbolN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__Ústrr   © r   r   ú^/var/www/html/HyperOracle/crypto_trader/venv/lib/python3.10/site-packages/eth_utils/network.pyr      s
   
 r   Úreturnc               	   C   s´   g } t j t j t j t¡d¡¡}tt j |d¡dd��}t |¡}W d   ƒ n1 s,w   Y  |D ]$}zt	|d |d |d t
|d ƒd�}|  |¡ W q3 tyW   Y q3w | S )	NÚ__jsonzeth_networks.jsonzUTF-8)ÚencodingÚchainIdr   r	   )r   r   r	   r
   )ÚosÚpathÚabspathÚjoinÚdirnameÚ__file__ÚopenÚjsonÚloadr   r   ÚappendÚ
ValueError)Únetworks_objÚnetworks_json_pathÚ	open_fileÚnetwork_dataÚentryÚnetworkr   r   r   Úinitialize_network_objects   s0   ÿþü
üür(   c                 C   s   i | ]}|j |“qS r   ©r   ©Ú.0r'   r   r   r   Ú
<dictcomp>;   s    r,   c                 C   ó   i | ]}|j |j“qS r   )r   r   r*   r   r   r   r,   <   s    c                 C   r-   r   )r   r	   r*   r   r   r   r,   =   s    
ÿr   c                 C   ó(   zt |  W S  ty   td| › �ƒ‚w ©Nzchain_id is not recognized: )Únetworks_by_idÚKeyErrorr   r)   r   r   r   Únetwork_from_chain_idB   ó
   
ÿr2   c                 C   r.   r/   )Únetwork_names_by_idr1   r   r)   r   r   r   Úname_from_chain_idI   r3   r5   c                 C   r.   r/   )Únetwork_short_names_by_idr1   r   r)   r   r   r   Úshort_name_from_chain_idP   r3   r7   )Údataclassesr   r   r   Útypingr   Ú
eth_typingr   Ú	eth_utilsr   r   r(   Únetworksr0   r4   r6   r   r2   r   r5   r7   r   r   r   r   Ú<module>   s$    ÿ