validation.cpython-311.pyc•14.1 kB
�
�e�h�* � �� � d dl Z d dlZd dlmZ d dlmZmZ ej e� � Z d� Z
dd�Zd� Zd� Z
d� Zd � Zdd
�Zd� Zdd�Zdd
�Zdd�Zdd�Z G d� de� � Zd� Zd� ZdS )� N��wraps)�request�jsonifyc � � | sdS | � d� � sdS t | � � dk rdS | dd� }t j d|� � sdS dS )zValidate API key formatF�aya_�$ � Nz^[A-Za-z0-9_-]+$T)�
startswith�len�re�match)�api_key�key_parts �*/home/runner/workspace/utils/validation.py�validate_api_keyr sp � �� ��u� ���f�%�%� ��u�
�7�|�|�b����u� �q�r�r�{�H�
�8�'��2�2� ��u��4� c � � | rt | t � � sdS |rL|� � � dv rt | � � S |� � � dk rt | � � S t | � � rdS t | � � rdS dS )z"Validate blockchain address formatF��ethereum�polygon�solanaT)�
isinstance�str�lower�validate_ethereum_address�validate_solana_address)�address�
blockchains r �validate_addressr s� � �� �*�W�c�2�2� ��u�� 4������!8�8�8�,�W�5�5�5�
�
�
�
�
�8�
+�
+�*�7�3�3�3� !��)�)� ��t� �� )� )� ��t��5r c � � | � d� � sdS t | � � dk rdS t | dd� d� � dS # t $ r Y dS w xY w)zValidate Ethereum-style address�0xF�* � N� T)r r �int�
ValueError)r s r r r . sw � ����d�#�#� ��u�
�7�|�|�r����u���G�A�B�B�K������t��� � � ��u�u����s �A �
A�Ac �~ � ddl } |� | � � }t |� � dk S # t $ r Y dS w xY w)zValidate Solana addressr N� F)�base58� b58decoder � Exception)r r* �decodeds r r r = sV � ��M�M�M���"�"�7�+�+���7�|�|�r�!�!��� � � ��u�u����s �'. �
<�<c � � | sdS t | � � }|dk rdS dt | � � v r5t t | � � � d� � d � � nd}|dk rdS dS # t t
f$ r Y dS w xY w)zValidate amount formatFr �.������ T)�floatr r �splitr'