HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/validators/__pycache__/btc_address.cpython-311.pyc
�

�;fw��^�dZddlmZddlZddlmZdefd�Zdefd�Zed	efd
���Z	dS)zBTC Address.�)�sha256N�)�	validator�addrc	�j��d�t�fd�t|ddd���D����S)zDecode base58.�:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyzc3�T�K�|]"\}}d|z��|��zV��#dS)�:N)�index)�.0�enm�idx�alphabets   ��I/opt/alt/python311/lib/python3.11/site-packages/validators/btc_address.py�	<genexpr>z!_decode_base58.<locals>.<genexpr>s<�����U�U�8�3���C��8�>�>�#�.�.�.�U�U�U�U�U�U�N���)�sum�	enumerate)rrs @r�_decode_base58rs>���K�H��U�U�U�U�y��d�d�PR�d��?T�?T�U�U�U�U�U�Urc�J�t|��tdd��vrdSt|���dd��}|dd�|dd�}}|t	t	|����������dd�kS)z%Validate P2PKH and P2SH type address.��#F�bigN����)�len�ranger�to_bytesr�digest)r�
decoded_bytes�header�checksums    r�_validate_old_btc_addressr$s���
�4�y�y��b�"�
�
�%�%��u�"�4�(�(�1�1�"�e�<�<�M�$�S�b�S�)�=����+=�H�F��v�f�V�n�n�3�3�5�5�6�6�=�=�?�?����C�C�Cr�valuec��|sdS|dd�dvr'tjd���|��nt|��S)a�Return whether or not given value is a valid bitcoin address.

    Full validation is implemented for P2PKH and P2SH addresses.
    For segwit addresses a regexp is used to provide a reasonable
    estimate on whether the address is valid.

    Examples:
        >>> btc_address('3Cwgr2g7vsi1bXDUkpEnVoRLA9w4FZfC69')
        # Output: True
        >>> btc_address('1BvBMsEYstWetqTFn5Au4m4GFg7xJaNVN2')
        # Output: ValidationError(func=btc_address, args=...)

    Args:
        value:
            Bitcoin address string to validate.

    Returns:
        (Literal[True]): If `value` is a valid bitcoin address.
        (ValidationError): If `value` is an invalid bitcoin address.
    FN�)�bc�tbz%^(bc|tc)[0-3][02-9ac-hj-np-z]{14,74}$)�re�compile�matchr$)r%s r�btc_addressr-sW��,���u�
��!��9��$�$�	�
�;�<�<�B�B�5�I�I�I�
&�u�
-�
-�	r)
�__doc__�hashlibrr*�utilsr�strrr$r-�rr�<module>r3s�����������	�	�	�	�������V��V�V�V�V�D�C�D�D�D�D���s��������r