o
    ¼>h  ã                   @   sæ   d dl mZ 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dede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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dededefdd„ZdS )é    )ÚOptionalé   )ÚsignÚrecoverÚ
is_addressÚ
is_bytes16Úis_eth_privkeyÚis_signatureÚis_chain_idÚis_block_numberÚchainIdÚverifyingContractÚmemberÚupdatedÚmarketIdÚdelegateÚdelegateTypeÚ
apiCatalogÚconsentÚservicePrefixÚreturnc
                 C   s$  t | ƒsJ ‚t|ƒsJ ‚t|ƒsJ ‚t|ƒsJ ‚t|ƒsJ ‚t|ƒs$J ‚t|ƒtks,J ‚t|ƒs2J ‚t|ƒtks:J ‚|	du sFt|	ƒtksFJ ‚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œdddœdddœdddœg
dœddddœ| |||||||||	p‹ddœ
dœ}
|
S )zô

    :param chainId:
    :param verifyingContract:
    :param member:
    :param updated:
    :param marketId:
    :param delegate:
    :param delegateType:
    :param apiCatalog:
    :param consent:
    :param servicePrefix:
    :return:
    NÚnameÚstring)r   ÚtypeÚversionr   Úuint256r   Úaddressr   r   r   Úbytes16r   r   Úuint8r   r   Úboolr   )ÚEIP712DomainÚEIP712Consentr!   ÚXBRÚ1)r   r   Ú )
r   r   r   r   r   r   r   r   r   r   )ÚtypesÚprimaryTypeÚdomainÚmessage)r
   r   r   r   r   Úintr   Ústr)r   r   r   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_consent.pyÚ_create_eip712_consent    s„   þþûþþþþþþþþþþÛõ6þöÄJr.   Úeth_privkeyc                 C   s0   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+   r,   r,   r-   Úsign_eip712_consent‰   s
   ÿ
r0   Ú	signaturec                 C   s0   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   r1   r+   r,   r,   r-   Úrecover_eip712_consent›   s
   	ÿ
r2   N)Útypingr   Ú_eip712_baser   r   r   r   r   r	   r
   r   r)   Úbytesr   r*   Údictr.   r0   r2   r,   r,   r,   r-   Ú<module>   sf   (ÿÿÿÿþþ
þiÿÿÿÿÿþþ
þÿÿÿÿþþþþ