
    E6i@                         S SK Jr  S SK Jr  S SK Jr  S SK Jr  S SKrS SKrS SKJr  S SK	r	S SK
Jr   " S S	\5      r " S
 S\5      rg)    )absolute_import)division)print_function)unicode_literalsN)to_native_string)AuthBasec                        \ rS rSrS rS rSrg)HMACAuth   c                 (    Xl         X l        X0l        g Napi_key
api_secretapi_version)selfr   r   r   s       N/home/james-whalen/.local/lib/python3.13/site-packages/coinbase/wallet/auth.py__init__HMACAuth.__init__   s    L O"    c                 ~   [        [        [        R                  " 5       5      5      nX!R                  -   UR                  -   UR
                  =(       d    S-   nU R                  n[        U[        5      (       d  UR                  5       n[        U[        5      (       d  UR                  5       n[        R                  " XC[        R                  5      R                  5       nUR                  R!                  [#        S5      U R$                  [#        S5      U R&                  [#        S5      U[#        S5      U05        U$ )N 
CB-VERSIONzCB-ACCESS-KEYzCB-ACCESS-SIGNzCB-ACCESS-TIMESTAMP)strinttimemethodpath_urlbodyr   
isinstancebytesencodehmacnewhashlibsha256	hexdigestheadersupdater   r   r   )r   request	timestampmessagesecret	signatures         r   __call__HMACAuth.__call__   s    C		$%I..(7+;+;;w||?QrRG__Fgu%% gfe$$}}f'..9CCEIOO|$d&6&6''(),-y	  Nr   r   N__name__
__module____qualname____firstlineno__r   r/   __static_attributes__ r   r   r
   r
      s    #
r   r
   c                        \ rS rSrS rS rSrg)
OAuth2Auth)   c                     Xl         X l        g r   access_token_getterr   )r   r=   r   s      r   r   OAuth2Auth.__init__*   s    2"r   c           
          U R                  5       nUR                  R                  [        S5      U R                  [        S5      [        SR                  U5      5      05        U$ )Nr   Authorizationz	Bearer {})r=   r(   r)   r   r   format)r   r*   access_tokens      r   r/   OAuth2Auth.__call__.   sY    ++-LOO|$d&6&6'++L9: 	
 Nr   r<   Nr1   r7   r   r   r9   r9   )   s    #r   r9   )
__future__r   r   r   r   r%   r#   requests.utilsr   r   requests.authr   r
   r9   r7   r   r   <module>rG      s8    &  % '   +  "x 4 r   