
    (i                         d dl Z ddZy)    Nc                    t        d | ||||fD              rt        d       G d dt        j                        }t	               }| 't        j
                         |_        t        |       |d<   |'t        j
                         |_        t        |      |d<   |(t        j                  d      |_
        t        |      |d<   |t        j                         |_        ||d	<   |t        j                  d
      |_        ||d<    |di |S )zHelper method to create the standard EIP712Domain struct for you.

    Per the standard, if a value is not used then the parameter is omitted from the struct entirely.
    c              3   $   K   | ]  }|d u  
 y w)N ).0is     U/var/www/br/venv/lib/python3.12/site-packages/poly_eip712_structs/domain_separator.py	<genexpr>zmake_domain.<locals>.<genexpr>
   s     
P19
Ps   z$At least one argument must be given.c                       e Zd Zy)!make_domain.<locals>.EIP712DomainN)__name__
__module____qualname__r       r   EIP712Domainr      s    r   r   nameversion   chainIdverifyingContract    saltr   )all
ValueErrorpoly_eip712_structsEIP712StructdictStringr   strr   Uintr   intAddressr   Bytesr   )r   r   r   r   r   r   kwargss          r   make_domainr$      s    
PtWg7H$O
PP?@@*77  VF/668Tv299;Ly277<Ly$)<)D)D)F&&7"#/55b9v!&!!r   )NNNNN)r   r$   r   r   r   <module>r%      s    "r   