o
    >h                     @   s   d dl mZmZmZmZmZmZmZmZ de	de
de
de	de	dede
d	efd
dZde
de	de
de
de	de	dede
d	e
fddZde	de
de
de	de	dede
de
d	e
fddZdS )   )signrecover
is_addressis_block_numberis_chain_idis_eth_privkeyis_signatureis_cs_pubkeychainIdverifyingContractmemberloggedIn	timestampmember_emailclient_pubkeyreturnc                 C   s   t | sJ t|sJ t|sJ t|sJ t|tks J t|tks(J t|s.J ddddddgddddddd	ddd
dddddddddddgddddd| ||||||dd}|S )z

    :param chainId:
    :param blockNumber:
    :param verifyingContract:
    :param member:
    :param timestamp:
    :param member_email:
    :param client_pubkey:
    :return:
    namestring)r   typeversionr
   uint256r   addressr   r   r   uint64r   r   bytes32)EIP712DomainEIP712MemberLoginr   XBR1)r   r   )r
   r   r   r   r   r   r   )typesprimaryTypedomainmessage)r   r   r   r   intstrr	   )r
   r   r   r   r   r   r   data r%   /var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/autobahn/xbr/_eip712_member_login.py_create_eip712_member_login   sf   *;r'   eth_privkeyc           	      C   s*   t | sJ t|||||||}t| |S )z

    :param eth_privkey: Ethereum address of buyer (a raw 20 bytes Ethereum address).
    :type eth_privkey: bytes

    :return: The signature according to EIP712 (32+32+1 raw bytes).
    :rtype: bytes
    )r   r'   r   )	r(   r
   r   r   r   r   r   r   r$   r%   r%   r&   sign_eip712_member_loginr   s
   

r)   	signaturec           	      C   s*   t |sJ t| ||||||}t||S )z
    Recover the signer address the given EIP712 signature was signed with.

    :return: The (computed) signer address the signature was signed with.
    :rtype: bytes
    )r   r'   r   )	r
   r   r   r   r   r   r   r*   r$   r%   r%   r&   recover_eip712_member_login   s
   	
r+   N)_eip712_baser   r   r   r   r   r   r   r	   r"   bytesr#   dictr'   r)   r+   r%   r%   r%   r&   <module>   s@   (
S
