
    LfS?                        d dl Z 	 d dlmZ 	 d dlmZ d dlmZ d dl	Z	 e
e	d      s e
e	d      re	j                  e	_         e
e	d      s e
e	d      rd e	_         e
e	d	      s
d
 Zee	_         e
e	d      sd dlmZmZmZ d Zee	_        d dlZ e
ej*                  d      s8 e
ej*                  d      r%ej*                  j,                  ej*                  _         e
ej*                  d      s8 e
ej*                  d      r%ej*                  j0                  ej*                  _         e
ej*                  d      s8 e
ej*                  d      r%ej*                  j4                  ej*                  _         e
ej*                  d      sL e
ej8                  j:                  d      r/ej8                  j:                  j<                  ej*                  _        d dl Z  e
e d      s e
e d      re j@                  e _!        d dl"Z"d dl#m$Z$m%Z%m&Z&m'Z'm(Z( d dl#m)Z)m*Z*m+Z+m,Z,m-Z- d dl#m.Z.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z? d dl@mAZA d dlBmCZCmDZDmEZEmFZF d d lGmHZHmIZImJZJmKZK d d!lLmMZMmNZN d d"lOmPZPmQZQ d d#lRmSZSmTZT d d$lUmVZVmWZW d d%lXmYZYmZZZ d d&l[m\Z\m]Z] d d'l^m_Z_m`Z` d d(lambZbmcZc d d)ldmeZemfZf d d*lgmhZhmiZi d d+ljmkZkmlZlmmZmmnZnmoZompZpmqZq d d,lrmsZs d d-ltmuZumvZv d d.lwmxZx d d/lymzZzm{Z{m|Z| d d0l}m~Z~mZmZmZmZmZmZmZmZmZ d d1lmZmZmZ d d2lmZmZ d d3lmZmZ d d4lmZ d5Zda	 da	 da	 da	 da	 d6 Z G d7 d8e      Z G d9 d:e      Z G d; d<e      Z G d= d>e      ZdMd?efd@ZdNdAedBefdCZdOdAedDed?e"jH                  jJ                  fdEZdFed?e"jH                  jJ                  fdGZdHZdIZy# e$ r d dlZej                  e_        Y w xY w# eef$ r|Zd dlZ e j\                  ej^                  ej`                  J       ej`                  jc                   ee             ej`                  je                          dKZdLZY dZ[ydZ[ww xY w)P    N)HASH)Mnemonic)mnemonic_to_private_key
encode_abiencodeencode_singlec                 2    t        j                  | g|g      S )N)eth_abir   )typvals     P/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/autobahn/xbr/__init__.py<lambda>r   2   s    u1M     collapse_typec                 L    | |z   dj                  t        t        |            z   S )N )joinmaprepr)basesubarrlists      r   r   r   9   s!    #:D'(: ;;;r   process_type)	TupleType	normalizeparsec                 :   t        |       }t        |      }t        |       }| |k7  rdj                  |t        |            }t	        |t
              rt        dj                  |            |j                          |j                  }t	        |t              r dj                  t        t        |            }nt	        |t              rt        |      }nd}|j                  }t	        |t              rt        t        t        |            }ng }|j                   ||fS )Nz{} (normalized to {})z1Cannot process type {}: tuple types not supportedxr   )r   r   r   format
isinstancer   
ValueErrorvalidater   tupler   r   strintr   listr   )type_strnormalized_type_strabi_typetype_str_reprr   r   s         r   r   r   E   s    "+H"501H NM.. 7 > >!,-!
 (I. !T![![\i!lmm,,C#u%hhs3}-C%#h&&G'5)s412==#w..r   toChecksumAddressto_checksum_addressisChecksumAddressis_checksum_addressisConnectedis_connectedprivateKeyToAccountprivate_key_to_accountmainens)XBR_TOKEN_ABIXBR_NETWORK_ABIXBR_MARKET_ABIXBR_CATALOG_ABIXBR_CHANNEL_ABI)XBR_DEBUG_TOKEN_ADDRXBR_DEBUG_NETWORK_ADDRXBR_DEBUG_MARKET_ADDRXBR_DEBUG_CATALOG_ADDRXBR_DEBUG_CHANNEL_ADDR)XBR_DEBUG_TOKEN_ADDR_SRCXBR_DEBUG_NETWORK_ADDR_SRCXBR_DEBUG_MARKET_ADDR_SRCXBR_DEBUG_CATALOG_ADDR_SRCXBR_DEBUG_CHANNEL_ADDR_SRC)IMarketMaker	IProvider	IConsumerISellerIBuyer	IDelegate)make_w3pack_uint256unpack_uint256)EIP712Certificate)parse_certificate_chain)!sign_eip712_authority_certificate$recover_eip712_authority_certificate#create_eip712_authority_certificateEIP712AuthorityCertificate) sign_eip712_delegate_certificate#recover_eip712_delegate_certificate"create_eip712_delegate_certificateEIP712DelegateCertificate)sign_eip712_member_registerrecover_eip712_member_register)sign_eip712_member_loginrecover_eip712_member_login)sign_eip712_market_createrecover_eip712_market_create)sign_eip712_market_joinrecover_eip712_market_join)sign_eip712_catalog_createrecover_eip712_catalog_create)sign_eip712_api_publishrecover_eip712_api_publish)sign_eip712_consentrecover_eip712_consent)sign_eip712_channel_openrecover_eip712_channel_open)sign_eip712_channel_closerecover_eip712_channel_close)sign_eip712_market_member_login"recover_eip712_market_member_login)
is_addressis_chain_idis_block_numberis_signatureis_cs_pubkey
is_bytes16is_eth_privkey)SimpleBlockchain)SimpleSeller	KeySeries)SimpleBuyer)load_or_create_profile
UserConfigProfile)
	FbsSchema	FbsObjectFbsType
FbsRPCCallFbsEnum
FbsServiceFbsEnumValueFbsAttributeFbsFieldFbsRepository)stretch_argon2_secretexpand_argon2_secretpkm_from_argon2_secret)FederatedRealmSeeder)EthereumKeySecurityModuleMemory)UserKeyTc                 v   | j                   j                  t        t              a| j                   j                  t
        t              a| j                   j                  t        t              a
| j                   j                  t        t              a| j                   j                  t        t              ay)z|
        The XBR library must be initialized (once) first by setting the Web3 provider
        using this function.
        )addressabiN)ethcontractr:   r5   xbrtokenr;   r6   
xbrnetworkr<   r7   	xbrmarketr=   r8   
xbrcatalogr>   r9   
xbrchannel)_w3s    r   setProviderr      s     77##,@m#T WW%%.D/%Z
 GG$$-B$W	 WW%%.D/%Z
 WW%%.D/%Z
r   c                   (    e Zd ZdZdZdZdZdZdZdZ	y)	MemberLevelz,
        XBR Network member levels.
        r                  N)
__name__
__module____qualname____doc__NONEACTIVEVERIFIEDRETIREDPENALTYBLOCKED r   r   r   r      s'    	 r   r   c                        e Zd ZdZdZdZdZdZy)NodeTypez'
        XBR Cloud node types.
        r   r   r   r   N)r   r   r   r   r   MASTERCOREEDGEr   r   r   r   r      s    	 r   r   c                        e Zd ZdZdZ	 dZ	 dZy)ChannelTypez
        Type of a XBR off-chain channel: paying channel (for provider delegates selling data services) or payment channel (for consumer delegates buying data services).
        r   r   r   N)r   r   r   r   r   PAYMENTPAYINGr   r   r   r   r      s+    	 	 	 	r   r   c                   &    e Zd ZdZdZ	 dZ	 dZ	 dZy)	ActorTypez(
        XBR Market Actor type.
        r   r   r   r   N)r   r   r   r   r   PROVIDERCONSUMERPROVIDER_CONSUMERr   r   r   r   r      s8    	 	 	 	 	r   r   returnc                 6    t        |      j                  |       S )a  
        Generate a new BIP-39 mnemonic seed phrase for use in Ethereum (Metamask, etc).

        See:
        * https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
        * https://github.com/trezor/python-mnemonic

        :param strength: Strength of seed phrase in bits, one of the following ``[128, 160, 192, 224, 256]``,
            generating seed phrase of 12 - 24 words inlength.

        :return: Newly generated seed phrase (in english).
        )r   generate)strengthlanguages     r   generate_seedphraser     s     !**844r   
seedphraser   c                 6    t        |      j                  |       S )z
        Check a BIP-39 mnemonic seed phrase.

        :param seedphrase: The BIP-39 seedphrase from which to derive the account.
        :param language: The BIP-39 user language to generate the seedphrase for.
        :return:
        )r   check)r   r   s     r   check_seedphraser   !  s     !''
33r   indexc                 ^    ddl m} dj                  |      }t        | |      } ||      }|S )a'  
        Create an account from the given BIP-39 mnemonic seed phrase.

        :param seedphrase: The BIP-39 seedphrase from which to derive the account.
        :param index: The account index in account hierarchy defined by the seedphrase.
        :return: The new Eth account object
        r   r2   zm/44'/60'/0'/0/{})str_derivation_path)web3.middleware.signingr2   r   r   )r   r   r2   derivation_pathkeyaccounts         r   account_from_seedphraser   +  s3     	C-44U;%joV(-r   ethkeyc                 B    ddl m} t        |       dk(  sJ  ||       }|S )z
        Create an account from the private key seed.

        :param ethkey: The Ethereum private key seed (32 octets).
        :return: The new Eth account object
        r   r       )r   r2   len)r   r2   r   s      r   account_from_ethkeyr   :  s)     	C6{b   (0r   z
            _ ._  _ , _ ._
            (_ ' ( `  )_  .__)
        ( (  (    )   `)  ) _)
        (__ (_   (_ . _) _) ,__)
            `~~`\ ' . /`~~`
                ;   ;
                /   \
    _____________/_ __ \_____________

    )[HAS_XBRr5   r6   r7   r8   r9   r   r   r   r   r   r   rJ   rK   rL   r   r   r   
ASCII_BOMBrM   rR   rV   rN   rQ   rO   rP   rU   rS   rT   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rp   ro   rn   rl   rq   rm   rk   rv   rw   rx   r   r   r   r   r   rt   rr   rs   ru   rD   rE   rF   rG   rH   rI   r   ry   r~   r{   rz   r}   r   r|   r   r   r   r   r   r   r   r   r   )fileF)r   )   english)r   )r   )	traceback_hashlibr   ImportErrorHashmnemonicr   autobahn.xbr._mnemonicr   r
   hasattrr   r   r   r   eth_abi.grammarr   r   r   r   web3Web3r,   r+   r.   r-   r0   r/   
middlewaresigningr2   r1   r4   r3   eth_accountautobahn.xbr._abir5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   autobahn.xbr._interfacesrD   rE   rF   rG   rH   rI   autobahn.xbr._utilrJ   rK   rL    autobahn.xbr._eip712_certificaterM   &autobahn.xbr._eip712_certificate_chainrN   *autobahn.xbr._eip712_authority_certificaterO   rP   rQ   rR   )autobahn.xbr._eip712_delegate_certificaterS   rT   rU   rV   $autobahn.xbr._eip712_member_registerrW   rX   !autobahn.xbr._eip712_member_loginrY   rZ   "autobahn.xbr._eip712_market_creater[   r\    autobahn.xbr._eip712_market_joinr]   r^   #autobahn.xbr._eip712_catalog_creater_   r`    autobahn.xbr._eip712_api_publishra   rb   autobahn.xbr._eip712_consentrc   rd   !autobahn.xbr._eip712_channel_openre   rf   "autobahn.xbr._eip712_channel_closerg   rh   (autobahn.xbr._eip712_market_member_loginri   rj   autobahn.xbr._eip712_baserk   rl   rm   rn   ro   rp   rq   autobahn.xbr._blockchainrr   autobahn.xbr._sellerrs   rt   autobahn.xbr._buyerru   autobahn.xbr._configrv   rw   rx   autobahn.xbr._schemary   rz   r{   r|   r}   r~   r   r   r   r   autobahn.xbr._walletr   r   r   autobahn.xbr._frealmr   r   autobahn.xbr._secmodr   r   autobahn.xbr._userkeyr   r   r   r   r   r   r   r   objectr   r   r   r   r$   r   r   r%   r   Accountr   bytesr   r   __all__FileNotFoundErroresysprint_tb__traceback__stderrwriteflushr   r   r   <module>r     s  6 "]!> 7L)ggx.H$^^7O,(1K M
 7O,	< !.7N+	
 	
	/@  , 49912wtyyJ_7`&*ii&C&C		#49912wtyyJ_7`&*ii&C&C		#499m,N1S $		 6 6		49934AXAXZr9s(,(?(?(V(V		%3GC$777rr V  V j  jggHHBNn nk kpgjdmdXgj+1 1 19</PP* * *hh;F-GH J I J J[4	f 	6 f (F 25 54S 4C 4C  KDWDWD_D_ E k.A.A.I.I 
JgGg	  "MMHM"x 	&' IqSZZ8JJSVJJGGs*   N- NO -O
OQA2QQ