
    (i                     \   d dl Z d dlmZmZmZmZmZmZ ddlm	Z	 dZ
dZdZdZ e j                  d	
      ZdededefdZd!dedefdZd!dZd!dZd!dZd!dZdedededefdZ	 d"dededefdZ	 d"dededefdZ	 d#dededefdZ	 d#dededefdZ	 d#dededefdZ	 d#dededefd Zy)$    N)DropNotificationParamsBalanceAllowanceParamsOrderScoringParamsOrdersScoringParamsTradeParamsOpenOrderParams   )PolyApiExceptionGETPOSTDELETEPUTT)http2methodheadersreturnc                 b    |
t               }d|d<   d|d<   d|d<   d|d<   | t        k(  rd	|d
<   |S )Npy_clob_clientz
User-Agentz*/*Acceptz
keep-alive
Connectionzapplication/jsonzContent-TypegzipzAccept-Encoding)dictr   )r   r   s     T/var/www/br/venv/lib/python3.12/site-packages/py_clob_client/http_helpers/helpers.pyoverloadHeadersr      sM    &,GLGH(GL0GN}%+!"N    endpointc                    	 t        ||      }t        |t              r)t        j	                  || ||j                  d            }nt        j	                  || ||      }|j                  dk7  rt        |      	 |j                         S # t        $ r |j                  cY S w xY w# t        j                  $ r t        d      w xY w)Nzutf-8)r   urlr   content)r   r   r   json   zRequest exception!)	error_msg)r   
isinstancestr_http_clientrequestencodestatus_coder
   r    
ValueErrortexthttpxRequestError)r   r   r   dataresps        r   r&   r&   %   s    ?!&'2dC ''G,	 ( D  ''	 ( D s""4((	99; 	99	  ?)=>>?s*   A8B& ;B B# B& "B##B& & Cc                 &    t        | t        ||      S N)r&   r   r   r   r-   s      r   postr2   D   s    8T7D11r   c                 &    t        | t        ||      S r0   )r&   r   r1   s      r   getr4   H       8S'400r   c                 &    t        | t        ||      S r0   )r&   r   r1   s      r   deleter7   L   s    8VWd33r   c                 &    t        | t        ||      S r0   )r&   r   r1   s      r   putr9   P   r5   r   r   paramvalc                 n    | }|d   }|dk(  rdj                  |||      }|S dj                  |||      }|S )N?z{}{}={}z{}&{}={})format)r   r:   r;   url_with_paramslasts        r   build_query_paramsrB   T   sP    O2Ds{#**?E3G  %++OUCHr   base_urlparamsc                    | }t        |      xsZ t        |      xrM t        |j                  |j                  |j                  |j
                  |j                  |j                  g      }|r|dz   }|r|j                  rt        |d|j                        }|j                  rt        |d|j                        }|j                  rt        |d|j                        }|j
                  rt        |d|j
                        }|j                  rt        |d|j                        }|j                  rt        |d|j                        }|rt        |d|      }|S )	(
    Adds query parameters to a url
    r>   marketasset_idafterbeforemaker_addressidnext_cursor)	boolanyrG   rH   rI   rJ   rK   rL   rB   rC   rD   rM   r   	has_querys        r   add_query_trade_paramsrR   `   s!    C[! V 
	
$$			
  Ci==$S(FMMBC??$S*fooFC<<$S'6<<@C==$S(FMMBC$S/6;O;OPC99$S$		:C m[AJr   c                    | }t        |      xs9 t        |      xr, t        |j                  |j                  |j                  g      }|r|dz   }|ri|j                  rt        |d|j                        }|j                  rt        |d|j                        }|j                  rt        |d|j                        }|rt        |d|      }|S )rF   r>   rG   rH   rL   rM   )rN   rO   rG   rH   rL   rB   rP   s        r   add_query_open_orders_paramsrT      s     C[! VIfmmV__fiiHI  Ci==$S(FMMBC??$S*fooFC99$S$		:C m[AJr   c                 |    | }|r7|dz   }|j                   r&t        |ddj                  |j                               }|S )rF   r>   ids,)rV   rB   joinrC   rD   r   s      r   drop_notifications_query_paramsrZ      s<     CCi::$S%&**1EFCJr   c                    | }|r||dz   }|j                   r%t        |d|j                   j                               }|j                  rt        |d|j                        }|j                  t        |d|j                        }|S )rF   r>   
asset_typetoken_idsignature_type)r\   rB   __str__r]   r^   rY   s      r   #add_balance_allowance_params_to_urlr`      sz     CCi$S,8I8I8Q8Q8STC??$S*fooFC  ,$S*:F<Q<QRCJr   c                 ^    | }|r(|dz   }|j                   rt        |d|j                         }|S )rF   r>   order_id)orderIdrB   rY   s      r   add_order_scoring_params_to_urlrd      s3     CCi>>$S*fnnECJr   c                 |    | }|r7|dz   }|j                   r&t        |ddj                  |j                               }|S )rF   r>   	order_idsrW   )orderIdsrB   rX   rY   s      r    add_orders_scoring_params_to_urlrh      s<     CCi??$S+sxx7PQCJr   )NN)NzMA==r0   )r+   py_clob_client.clob_typesr   r   r   r   r   r   
exceptionsr
   r   r   r   r   Clientr%   r$   r   r   r&   r2   r4   r7   r9   rB   rR   rT   rZ   r`   rd   rh    r   r   <module>rm      sm     *	u||$'C $ 4 ?c ?3 ?>2141	C 	 	# 	# 	 <B&&&&&T @F*4 591 591& 15- 26.r   