Ë
    �V.jwZ ã                   ó  — d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
 d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d
dlmZmZmZ d
dlm Z m!Z!m"Z" d
dl#m$Z$  G d„ d«      Z% G d„ de%«      Z& G d„ de%«      Z'y)é    )Ú	b64encode)ÚPath)ÚDictÚOptionalÚListÚTupleÚUnionÚAnyN)ÚRSA)ÚSHA256)Úpkcs1_15)Ú
itemgetter)Ú	urlencodeé   )Úinterval_to_millisecondsÚconvert_ts_strÚget_loop)ÚBinanceAPIExceptionÚBinanceRequestExceptionÚNotImplementedException)ÚHistoricalKlinesTypec                   ó\  — e Zd ZU dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZe e!d<   dZ"dZ#dZ$dZ%dZ&dZ'dZ(d Z)d!Z*d"Z+d#Z,d$Z-d%Z.d&Z/d'Z0d(Z1d)Z2d*Z3d+Z4d,Z5d-Z6d.Z7d/Z8d0Z9d1Z:d2Z;d3Z<d4Z=d5Z>d6Z?d7Z@d8ZAd2ZBd3ZCd9ZDd:ZEd6ZFd;ZGd8ZHd<ZId=ZJd>ZKd?ZLd@ZMdAZNdBZOdCZPdDZQdEZRdFZSdGZTdHZUdIZVdJZWdKZXdLZYdMZZdNZ[dOZ\dPZ]dQZ^dRZ_dSZ`dTZadUZbdVZcdWZddXZedYZfdZZgd[d[d[d\ed]d[d[fd^ehei   d_ehei   d`ehejeiekf      daeidbeidcelddehemeienf      deehei   fdf„Zodgejfdh„Zpdi„ Zqdddehemeienf      deehei   fdj„Zrdkefdleidmeldneidgeifdo„Zsd€dleidnetdgeifdp„Zudleidgeifdq„Zvd€dleidnetdgeifdr„Zwdleidgeifds„Zxd€dleidnetdgeifdt„Zyd€dleidnetdgeifdu„Zzdleidgeifdv„Z{dweifdx„Z|dweidgeifdy„Z}dzejdgeifd{„Z~edzejdge€e�eieif      fd|„«       Z‚d�dmeld}eldgejfd~„Zƒy[)‚Ú
BaseClientzhttps://api{}.binance.{}/apiz"https://testnet.binance.vision/apizhttps://api{}.binance.{}/sapizhttps://www.binance.{}zhttps://fapi.binance.{}/fapiz&https://testnet.binancefuture.com/fapiz$https://fapi.binance.{}/futures/dataz.https://testnet.binancefuture.com/futures/datazhttps://dapi.binance.{}/dapiz&https://testnet.binancefuture.com/dapiz$https://dapi.binance.{}/futures/datazhttps://eapi.binance.{}/eapiz"https://testnet.binanceops.{}/eapiÚv1Úv3Úv2Úv4Ú Ú1Ú2Ú3Ú4é
   ÚREQUEST_TIMEOUTÚSPOTÚNEWÚPARTIALLY_FILLEDÚFILLEDÚCANCELEDÚPENDING_CANCELÚREJECTEDÚEXPIREDÚ1mÚ3mÚ5mÚ15mÚ30mÚ1hÚ2hÚ4hÚ6hÚ8hÚ12hÚ1dÚ3dÚ1wÚ1MÚBUYÚSELLÚLIMITÚMARKETÚ	STOP_LOSSÚSTOP_LOSS_LIMITÚTAKE_PROFITÚTAKE_PROFIT_LIMITÚLIMIT_MAKERÚSTOPÚSTOP_MARKETÚTAKE_PROFIT_MARKETÚGTCÚIOCÚFOKÚACKÚRESULTÚFULLÚaÚpÚqÚfÚlÚTÚmÚMÚMAIN_C2CÚMAIN_UMFUTUREÚMAIN_CMFUTUREÚMAIN_MARGINÚMAIN_MININGÚC2C_MAINÚC2C_UMFUTUREÚ
C2C_MININGÚUMFUTURE_MAINÚUMFUTURE_C2CÚUMFUTURE_MARGINÚCMFUTURE_MAINÚMARGIN_MAINÚMARGIN_UMFUTUREÚMINING_MAINÚMINING_UMFUTUREÚ
MINING_C2CNÚcomFÚapi_keyÚ
api_secretÚrequests_paramsÚtldÚbase_endpointÚtestnetÚprivate_keyÚprivate_key_passc	                 ó  — || _         | j                  j                  ||«      | _        | j                  j                  ||«      | _        | j                  j                  |«      | _        | j
                  j                  |«      | _        | j                  j                  |«      | _        | j                  j                  |«      | _        | j                  j                  |«      | _        | j                  j                  |«      | _	        | j                  j                  |«      | _
        || _        || _        | j                  ||«      | _        | j                  «       | _        || _        d| _        || _        d| _        y)a’  Binance API Client constructor

        :param api_key: Api Key
        :type api_key: str.
        :param api_secret: Api Secret
        :type api_secret: str.
        :param requests_params: optional - Dictionary of requests params to use for all calls
        :type requests_params: dict.
        :param testnet: Use testnet environment - only available for vanilla options at the moment
        :type testnet: bool
        :param private_key: Path to private key, or string of file contents
        :type private_key: optional - str or Path
        :param private_key_pass: Password of private key
        :type private_key_pass: optional - str

        Nr   )rk   ÚAPI_URLÚformatÚMARGIN_API_URLÚWEBSITE_URLÚFUTURES_URLÚFUTURES_DATA_URLÚFUTURES_COIN_URLÚFUTURES_COIN_DATA_URLÚOPTIONS_URLÚOPTIONS_TESTNET_URLÚAPI_KEYÚ
API_SECRETÚ_init_private_keyÚPRIVATE_KEYÚ_init_sessionÚsessionÚ_requests_paramsÚresponserm   Útimestamp_offset)	Úselfrh   ri   rj   rk   rl   rm   rn   ro   s	            úPC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\binance/client.pyÚ__init__zBaseClient.__init__Š   s?  € ð, ˆŒØ—|‘|×*Ñ*¨=¸#Ó>ˆŒØ"×1Ñ1×8Ñ8¸ÈÓLˆÔØ×+Ñ+×2Ñ2°3Ó7ˆÔØ×+Ñ+×2Ñ2°3Ó7ˆÔØ $× 5Ñ 5× <Ñ <¸SÓ AˆÔØ $× 5Ñ 5× <Ñ <¸SÓ AˆÔØ%)×%?Ñ%?×%FÑ%FÀsÓ%KˆÔ"Ø×+Ñ+×2Ñ2°3Ó7ˆÔØ#'×#;Ñ#;×#BÑ#BÀ3Ó#GˆÔ àˆŒØ$ˆŒØ×1Ñ1°+Ð?OÓPˆÔØ×)Ñ)Ó+ˆŒØ /ˆÔØˆŒØˆŒØ !ˆÕó    Úreturnc                 ób   — dddœ}| j                   r| j                   sJ ‚| j                   |d<   |S )Nzapplication/jsonzhMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36)ÚAcceptz
User-AgentzX-MBX-APIKEY)r{   )r„   Úheaderss     r…   Ú_get_headerszBaseClient._get_headers´   s:   € à(ð Eñ
ˆð �<Š<Ø—<’<Ð�<Ø&*§l¡lˆG�NÑ#Øˆr‡   c                 ó   — t         ‚©N)ÚNotImplementedError©r„   s    r…   r   zBaseClient._init_session¾   s   € Ü!Ð!r‡   c                 ó¸   — |sy t        |t        «      r%t        |d«      5 }|j                  «       }d d d «       t	        j
                  ||¬«      S # 1 sw Y   Œ xY w)NÚr)Ú
passphrase)Ú
isinstancer   ÚopenÚreadr   Ú
import_key)r„   rn   ro   rQ   s       r…   r}   zBaseClient._init_private_keyÁ   sI   € ÙØÜ�k¤4Ô(Ü�k 3Ô'¨1ØŸf™f›h�÷ (ä�~‰~˜kÐ6FÔGÐG÷ (Ð'ús    AÁATÚpathÚsignedÚversionc                 ó†   — | j                   }| j                  r| j                  }|r| j                  n|}|dz   |z   dz   |z   S ©NÚ/)rq   rm   ÚAPI_TESTNET_URLÚPRIVATE_API_VERSION)r„   r˜   r™   rš   ÚurlÚvs         r…   Ú_create_api_urizBaseClient._create_api_uriÉ   sD   € Ø�l‰lˆØ�<Š<Ø×&Ñ&ˆCÙ(.ˆD×$Ò$°GˆØ�S‰y˜1‰}˜sÑ" TÑ)Ð)r‡   c                 ó–   — | j                   | j                  | j                  | j                  dœ}| j                  dz   ||   z   dz   |z   S )N)r   é   é   é   r�   )ÚMARGIN_API_VERSIONÚMARGIN_API_VERSION2ÚMARGIN_API_VERSION3ÚMARGIN_API_VERSION4rs   )r„   r˜   rš   Úoptionss       r…   Ú_create_margin_api_uriz!BaseClient._create_margin_api_uriÐ   sT   € à×&Ñ&Ø×'Ñ'Ø×'Ñ'Ø×'Ñ'ñ	
ˆð ×"Ñ" SÑ(¨7°7Ñ+;Ñ;¸cÑAÀDÑHÐHr‡   c                 ó&   — | j                   dz   |z   S rœ   )rt   )r„   r˜   s     r…   Ú_create_website_urizBaseClient._create_website_uriÙ   s   € Ø×Ñ #Ñ%¨Ñ,Ð,r‡   c                 óž   — | j                   }| j                  r| j                  }| j                  | j                  dœ}|dz   ||   z   dz   |z   S ©N)r   r¤   r�   )ru   rm   ÚFUTURES_TESTNET_URLÚFUTURES_API_VERSIONÚFUTURES_API_VERSION2©r„   r˜   rš   r    r«   s        r…   Ú_create_futures_api_uriz"BaseClient._create_futures_api_uriÜ   sS   € Ø×ÑˆØ�<Š<Ø×*Ñ*ˆCØ×.Ñ.°4×3LÑ3LÑMˆØ�S‰y˜7 7Ñ+Ñ+¨cÑ1°DÑ8Ð8r‡   c                 óZ   — | j                   }| j                  r| j                  }|dz   |z   S rœ   )rv   rm   ÚFUTURES_DATA_TESTNET_URL©r„   r˜   r    s      r…   Ú_create_futures_data_api_uriz'BaseClient._create_futures_data_api_uriã   s.   € Ø×#Ñ#ˆØ�<Š<Ø×/Ñ/ˆCØ�S‰y˜4ÑÐr‡   c                 óž   — | j                   }| j                  r| j                  }| j                  | j                  dœ}|dz   ||   z   dz   |z   S r°   )rw   rm   ÚFUTURES_COIN_TESTNET_URLr²   r³   r´   s        r…   Ú_create_futures_coin_api_urlz'BaseClient._create_futures_coin_api_urlé   sS   € Ø×#Ñ#ˆØ�<Š<Ø×/Ñ/ˆCØ×.Ñ.°4×3LÑ3LÑMˆØ�S‰y˜7 7Ñ+Ñ+¨cÑ1°DÑ8Ð8r‡   c                 óZ   — | j                   }| j                  r| j                  }|dz   |z   S rœ   )rx   rm   ÚFUTURES_COIN_DATA_TESTNET_URL)r„   r˜   rš   r    s       r…   Ú!_create_futures_coin_data_api_urlz,BaseClient._create_futures_coin_data_api_urlð   s.   € Ø×(Ñ(ˆØ�<Š<Ø×4Ñ4ˆCØ�S‰y˜4ÑÐr‡   c                 óz   — | j                   }| j                  r| j                  }|dz   | j                  z   dz   |z   S rœ   )ry   rm   rz   ÚOPTIONS_API_VERSIONr¸   s      r…   Ú_create_options_api_uriz"BaseClient._create_options_api_uriö   s>   € Ø×ÑˆØ�<Š<Ø×*Ñ*ˆCØ�S‰y˜4×3Ñ3Ñ3°cÑ9¸DÑ@Ð@r‡   Úquery_stringc                 óô   — | j                   sJ ‚t        j                  |j                  d«      «      }t	        j                  | j                   «      j                  |«      }t        |«      j                  «       S )Núutf-8)r~   r   ÚnewÚencoder   Úsignr   Údecode)r„   rÃ   ÚhÚ	signatures       r…   Ú_rsa_signaturezBaseClient._rsa_signatureü   s]   € Ø×ÒÐÐÜ�J‰J�|×*Ñ*¨7Ó3Ó4ˆÜ—L‘L ×!1Ñ!1Ó2×7Ñ7¸Ó:ˆ	Ü˜Ó#×*Ñ*Ó,Ð,r‡   c                 óâ   — | j                   sJ d«       ‚t        j                  | j                   j                  d«      |j                  d«      t        j
                  «      }|j                  «       S )Nz)API Secret required for private endpointsrÅ   )r|   ÚhmacrÆ   rÇ   ÚhashlibÚsha256Ú	hexdigest)r„   rÃ   rT   s      r…   Ú_hmac_signaturezBaseClient._hmac_signature  sS   € Ø�ŠÐKÐ KÓKˆÜ�H‰H�T—_‘_×+Ñ+¨GÓ4°l×6IÑ6IÈ'Ó6RÔT[×TbÑTbÓcˆØ�{‰{‹}Ðr‡   Údatac           	      óÖ   — | j                   }| j                  r| j                  }dj                  | j	                  |«      D �cg c]  }|d   › d|d   › �‘Œ c}«      } ||«      S c c}w )NÚ&r   Ú=r   )rÒ   r~   rÌ   ÚjoinÚ_order_params)r„   rÓ   Úsig_funcÚdrÃ   s        r…   Ú_generate_signaturezBaseClient._generate_signature  so   € Ø×'Ñ'ˆØ×ÒØ×*Ñ*ˆHØ—x‘x¸4×;MÑ;MÈdÔ;SÓ TÑ;S°a A a¡D 6¨¨1¨Q©4¨&Ò!1Ð;SÑ TÓUˆÙ˜Ó%Ð%ùò !Us   ÁA&c                 ó4  — t        t        d„ | j                  «       «      «      } d}g }| j                  «       D ])  \  }}|dk(  rd}Œ|j                  |t	        |«      f«       Œ+ |j                  t        d«      ¬«       |r|j                  d| d   f«       |S )zfConvert params to list with signature as last element

        :param data:
        :return:

        c                 ó   — | d   d uS )Nr   © )Úels    r…   Ú<lambda>z*BaseClient._order_params.<locals>.<lambda>  s   €  b¨¡e°4Ñ&7r‡   FrË   Tr   )Úkey)ÚdictÚfilterÚitemsÚappendÚstrÚsortr   )rÓ   Úhas_signatureÚparamsrá   Úvalues        r…   rØ   zBaseClient._order_params  sŽ   € ô ”FÑ7¸¿¹»ÓFÓGˆØˆØˆØŸ*™*ž,‰JˆC�Ø�kÒ!Ø $‘à—‘˜s¤C¨£JÐ/Õ0ð	 'ð 	�‰œ
 1›ˆÔ&ÙØ�M‰M˜;¨¨[Ñ(9Ð:Ô;Øˆr‡   Úforce_paramsc                 óº  — | j                   |d<   | j                  r|j                  | j                  «       |j                  dd «      }|r9t	        |t
        «      r)||d<   d|d   v r|j                  |d   d   «       |d   d= |rMt        t        j                  «       dz  | j                  z   «      |d   d<   | j                  |d   «      |d   d<   |rU| j                  |d   «      |d<   t        |d   «      D ���cg c]  \  }\  }}|�Œ|‘Œ }	}}}t        |	«      D ]  }|d   |= Œ
 |r(|dk(  s|r!dj                  d	„ |d   D «       «      |d
<   |d= |S c c}}}w )NÚtimeoutrÓ   rj   éè  Ú	timestamprË   ÚgetrÕ   c              3   ó6   K  — | ]  }|d    ›d|d   ›�–— Œ y­w)r   rÖ   r   NrÞ   )Ú.0rÓ   s     r…   Ú	<genexpr>z1BaseClient._get_request_kwargs.<locals>.<genexpr>F  s    è ø€ Ð'`ÑQ_È°4¸³7¸DÀºGÔ(DÑQ_ùs   ‚ré   )r$   r�   Úupdaterð   r”   râ   ÚintÚtimerƒ   rÛ   rØ   Ú	enumerateÚreversedr×   )
r„   Úmethodr™   rë   ÚkwargsrÓ   Úirá   rê   Ú	null_argss
             r…   Ú_get_request_kwargszBaseClient._get_request_kwargs$  sp  € ð !×0Ñ0ˆˆyÑð × Ò Ø�M‰M˜$×/Ñ/Ô0à�z‰z˜& $Ó'ˆÙ”J˜t¤TÔ*Ø!ˆF�6‰Nà  F¨6¡NÑ2à—‘˜f V™nÐ->Ñ?Ô@Ø˜6‘NÐ#4Ð5áä*-¬d¯i©i«k¸DÑ.@À4×CXÑCXÑ.XÓ*YˆF�6‰N˜;Ñ'Ø*.×*BÑ*BÀ6È&Á>Ó*RˆF�6‰N˜;Ñ'ñ à!×/Ñ/°°v±Ó?ˆF�6‰Nä2;¸FÀ6¹NÔ2KÕ]Ñ2K™˜q¡, 3¨ÈuÉ}šÐ2KˆIÒ]Ü˜iÖ(�Ø˜6‘N 1Ñ%ð )ñ �V˜u’_©Ø"Ÿx™xÑ'`ÐQWÐX^ÒQ_Ó'`Ó`ˆF�8ÑØ�v�àˆùô ^s   Ã>EÄErŽ   )r   ©F)„Ú__name__Ú
__module__Ú__qualname__rq   rž   rs   rt   ru   r±   rv   r·   rw   r»   rx   r¾   ry   rz   ÚPUBLIC_API_VERSIONrŸ   r§   r¨   r©   rª   r²   r³   rÁ   ÚBASE_ENDPOINT_DEFAULTÚBASE_ENDPOINT_1ÚBASE_ENDPOINT_2ÚBASE_ENDPOINT_3ÚBASE_ENDPOINT_4r$   ÚfloatÚ__annotations__ÚSYMBOL_TYPE_SPOTÚORDER_STATUS_NEWÚORDER_STATUS_PARTIALLY_FILLEDÚORDER_STATUS_FILLEDÚORDER_STATUS_CANCELEDÚORDER_STATUS_PENDING_CANCELÚORDER_STATUS_REJECTEDÚORDER_STATUS_EXPIREDÚKLINE_INTERVAL_1MINUTEÚKLINE_INTERVAL_3MINUTEÚKLINE_INTERVAL_5MINUTEÚKLINE_INTERVAL_15MINUTEÚKLINE_INTERVAL_30MINUTEÚKLINE_INTERVAL_1HOURÚKLINE_INTERVAL_2HOURÚKLINE_INTERVAL_4HOURÚKLINE_INTERVAL_6HOURÚKLINE_INTERVAL_8HOURÚKLINE_INTERVAL_12HOURÚKLINE_INTERVAL_1DAYÚKLINE_INTERVAL_3DAYÚKLINE_INTERVAL_1WEEKÚKLINE_INTERVAL_1MONTHÚSIDE_BUYÚ	SIDE_SELLÚORDER_TYPE_LIMITÚORDER_TYPE_MARKETÚORDER_TYPE_STOP_LOSSÚORDER_TYPE_STOP_LOSS_LIMITÚORDER_TYPE_TAKE_PROFITÚORDER_TYPE_TAKE_PROFIT_LIMITÚORDER_TYPE_LIMIT_MAKERÚFUTURE_ORDER_TYPE_LIMITÚFUTURE_ORDER_TYPE_MARKETÚFUTURE_ORDER_TYPE_STOPÚFUTURE_ORDER_TYPE_STOP_MARKETÚFUTURE_ORDER_TYPE_TAKE_PROFITÚ$FUTURE_ORDER_TYPE_TAKE_PROFIT_MARKETÚFUTURE_ORDER_TYPE_LIMIT_MAKERÚTIME_IN_FORCE_GTCÚTIME_IN_FORCE_IOCÚTIME_IN_FORCE_FOKÚORDER_RESP_TYPE_ACKÚORDER_RESP_TYPE_RESULTÚORDER_RESP_TYPE_FULLÚAGG_IDÚ	AGG_PRICEÚAGG_QUANTITYÚAGG_FIRST_TRADE_IDÚAGG_LAST_TRADE_IDÚAGG_TIMEÚAGG_BUYER_MAKESÚAGG_BEST_MATCHÚSPOT_TO_FIATÚSPOT_TO_USDT_FUTUREÚSPOT_TO_COIN_FUTUREÚSPOT_TO_MARGIN_CROSSÚSPOT_TO_MININGÚFIAT_TO_SPOTÚFIAT_TO_USDT_FUTUREÚFIAT_TO_MININGÚUSDT_FUTURE_TO_SPOTÚUSDT_FUTURE_TO_FIATÚUSDT_FUTURE_TO_MARGIN_CROSSÚCOIN_FUTURE_TO_SPOTÚMARGIN_CROSS_TO_SPOTÚMARGIN_CROSS_TO_USDT_FUTUREÚMINING_TO_SPOTÚMINING_TO_USDT_FUTUREÚMINING_TO_FIATr   ræ   r   r
   Úboolr	   r   r†   rŒ   r   r}   r¢   rõ   r¬   r®   rµ   r¹   r¼   r¿   rÂ   rÌ   rÒ   rÛ   Ústaticmethodr   r   rØ   rý   rÞ   r‡   r…   r   r      s]  … à,€GØ:€OØ4€NØ*€KØ0€KØBÐØ=ÐØOÐØ5ÐØGÐØBÐØ$TÐ!Ø0€KØ>ÐØÐØÐØÐØÐØÐØÐØÐØÐØÐàÐØ€OØ€OØ€OØ€Oà€O�UÓàÐàÐØ$6Ð!Ø"ÐØ&ÐØ"2ÐØ&ÐØ$Ðà!ÐØ!ÐØ!ÐØ#ÐØ#ÐØÐØÐØÐØÐØÐØ!ÐØÐØÐØÐØ Ðà€HØ€IàÐØ ÐØ&ÐØ!2ÐØ*ÐØ#6Ð Ø*Ðà%ÐØ'ÐØ#ÐØ$1Ð!Ø$1Ð!Ø+?Ð(Ø$1Ð!àÐØÐØÐàÐØ%ÐØ!Ðð €FØ€IØ€LØÐØÐØ€HØ€OØ€Nð €LØ)ÐØ)ÐØ(ÐØ"€NØ€LØ(ÐØ!€NØ)ÐØ(ÐØ"3ÐØ)ÐØ(ÐØ"3ÐØ"€NØ-ÐØ!€Nð (,ÈØ48ÀUÐavØÈÐquñ("Ø ‘}ð("Ø9AÀ#¹ð("à! $ s¨C x¡.Ñ1ð("à?Bð("à[^ð("ð ð("ð -5°U¸3À¸9Ñ5EÑ,Fð("ð bjÐjmÑanó("ðT˜dó ò"ñH¨X°e¸CÀ¸IÑ6FÑ-Gð HÐ[cÐdgÑ[hó Hð 9=ÐM_ñ * Cð *°ð *Àsð *Ðdgó *ñI¨3ð I¸ð IÀSó Ið-¨ð -°ó -ñ9¨Cð 9¸#ð 9Àcó 9ð °ð  ¸ó  ñ9°ð 9¸sð 9È3ó 9ñ °cð  ÀCð  ÐPSó  ðA¨Cð A°Có Að-¨3ó -ð¨Cð °Có ð
&¨ð &°ó &ð ð˜Dð  T¨%°°S°©/Ñ%:ò ó ðñ*%°$ð %Àdð %Ðaeô %r‡   r   c                   ó0  ‡ — e Zd Zddddej                  dddfdee   dee   deeeef      deded	e	d
ee
eef      dee   fˆ fd„Zdej                  fd„Z�dVdede	de	fd„Zedej$                  fd„«       Zdej(                  fdede	fd„Z�dWdedefd„Z�dVdefd„Z�dWdefd„Z�dWdefd„Z�dVdefd„Z�dWdefd„Z�dVdefd„Zdej(                  fd„Zdej(                  fdefd „Zdej(                  fdefd!„Z dej(                  fdefd"„Z!defd#„Z"defd$„Z#dee   fd%„Z$defd&„Z%defd'„Z&de'eeef      fd(„Z(defd)„Z)defd*„Z*defd+„Z+defd,„Z,defd-„Z-�dXd.efd/„Z.defd0„Z/e0jb                  fd1e0defd2„Z2e0jb                  fd1e0fd3„Z3ddd4e0jb                  fd1e0fd5„Z4ddd4e0jb                  fd1e0fd6„Z5ddd4e0jb                  fd1e0fd7„Z6ddd4e0jb                  fd1e0fd8„Z7d9„ Z8d:„ Z9d;„ Z:d<„ Z;d=„ Z<ejz                  fd>„Z>ejz                  fd?„Z?ejz                  fd@„Z@dA„ ZAdB„ ZBdC„ ZCdD„ ZDdE„ ZEdF„ ZFdG„ ZGdH„ ZHdI„ ZIdJ„ ZJdK„ ZKdL„ ZLdM„ ZMdN„ ZNdO„ ZOdP„ ZPdQ„ ZQdR„ ZRdS„ ZSdT„ ZTdU„ ZUdV„ ZVdW„ ZWdX„ ZXdY„ ZYdZ„ ZZd[„ Z[d\„ Z\d]„ Z]d^„ Z^d_„ Z_d`„ Z`da„ Zadb„ Zb�dYdceddee   fde„Zcdf„ Zddg„ Zedh„ Zfdi„ Zgdj„ Zhdk„ Zidl„ Zjdm„ Zkdn„ Zldo„ Zmdp„ Zndq„ Zodr„ Zpds„ Zqdt„ Zrdu„ Zsdv„ Ztdw„ Zudx„ Zvdy„ Zwdz„ Zxd{„ Zyd|„ Zzd}„ Z{d~„ Z|d„ Z}d€„ Z~d�„ Zd‚„ Z€dƒ„ Z�d„„ Z‚d…„ Zƒd†„ Z„d‡„ Z…dˆ„ Z†d‰„ Z‡dŠ„ Zˆd‹„ Z‰dŒ„ ZŠd�„ Z‹dŽ„ ZŒd�„ Z�d�„ ZŽd‘„ Z�d’„ Z�d“„ Z‘d”„ Z’d•„ Z“d–„ Z”d—„ Z•d˜„ Z–d™„ Z—dš„ Z˜d›„ Z™dœ„ Zšd�„ Z›dž„ ZœdŸ„ Z�d „ Zžd¡„ ZŸd¢„ Z d£„ Z¡d¤„ Z¢d¥„ Z£d¦„ Z¤d§„ Z¥d¨„ Z¦d©„ Z§dª„ Z¨d«„ Z©d¬„ Zªd­„ Z«d®„ Z¬d¯„ Z­d°„ Z®d±„ Z¯d²„ Z°d³„ Z±d´„ Z²dµ„ Z³d¶„ Z´d·„ Zµd¸„ Z¶d¹„ Z·dº„ Z¸d»„ Z¹d¼„ Zºd½„ Z»d¾„ Z¼d¿„ Z½dÀ„ Z¾dÁ„ Z¿dÂ„ ZÀdÃ„ ZÁdÄ„ ZÂdÅ„ ZÃdÆ„ ZÄdÇ„ ZÅdÈ„ ZÆdÉ„ ZÇdÊ„ ZÈdË„ ZÉdÌ„ ZÊdÍ„ ZËdÎ„ ZÌdÏ„ ZÍ�dZdÐ„ZÎ�dYdÑ„ZÏdÒ„ ZÐdÓ„ ZÑdÔ„ ZÒdÕ„ ZÓdÖ„ ZÔd×„ ZÕdØ„ ZÖdÙ„ Z×dÚ„ ZØdÛ„ ZÙdÜ„ ZÚdÝ„ ZÛdÞ„ ZÜdß„ ZÝdà„ ZÞdá„ Zßdâ„ Zàdã„ Zádä„ Zâdå„ Zãdæ„ Zädç„ Zådè„ Zædé„ Zçdê„ Zèdë„ Zédì„ Zêdí„ Zëdî„ Zìdï„ Zídð„ Zîdñ„ Zïdò„ Zðdó„ Zñdô„ Zòdõ„ Zódö„ Zôd÷„ Zõdø„ Zödù„ Z÷dú„ Zødû„ Zùdü„ Zúdýe	fdþ„Zûdÿ„ Zü�d „ Zý�d„ Zþ�d„ Zÿ�d„ �Z �d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d	„ �Z�d
„ �Z�d„ �Z�d„ �Z	�d„ �Z
�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d „ �Z�d!„ �Z�d"„ �Z�d#„ �Z �d$„ �Z!�d%„ �Z"�d&„ �Z#�d'„ �Z$�d(„ �Z%�d)„ �Z&�d*„ �Z'�d+„ �Z(�d,„ �Z)�d-„ �Z*�d.„ �Z+�d/„ �Z,�d0„ �Z-�d1„ �Z.�d2„ �Z/�d3„ �Z0�d4„ �Z1	 �d5„ �Z2�d6„ �Z3�d7„ �Z4�d8„ �Z5�d9„ �Z6�d:„ �Z7�d;„ �Z8�d<„ �Z9�d=„ �Z:�d>„ �Z;�d?„ �Z<�d@„ �Z=�dA„ �Z>�dB„ �Z?�dC„ �Z@�dD„ �ZA�dE„ �ZB�dF„ �ZC�dG„ �ZD�dH„ �ZE�dI„ �ZF�dJ„ �ZG�dK„ �ZH�dL„ �ZI�dM„ �ZJ�dN„ �ZK�dO„ �ZL�dP„ �ZM�dQ„ �ZN�dR„ �ZO�dS„ �ZP�dT„ �ZQ�dU„ �ZRˆ x�ZSS ([  ÚClientNrg   Frh   ri   rj   rk   rl   rm   rn   ro   c	           
      óR   •— t         ‰	| �  ||||||||«       | j                  «        y rŽ   )Úsuperr†   Úping)
r„   rh   ri   rj   rk   rl   rm   rn   ro   Ú	__class__s
            €r…   r†   zClient.__init__N  s.   ø€ ô 	‰Ñ˜ *¨o¸sÀMÐSZÐ\gÐiyÔzð 	�	‰	�r‡   rˆ   c                 ó„   — | j                  «       }t        j                  «       }|j                  j	                  |«       |S rŽ   )rŒ   Úrequestsr€   r‹   rô   )r„   r‹   r€   s      r…   r   zClient._init_sessionZ  s5   € à×#Ñ#Ó%ˆä×"Ñ"Ó$ˆØ�‰×Ñ˜wÔ'Øˆr‡   Úurir™   rë   c                 ó¦   —  | j                   |||fi |¤Ž} t        | j                  |«      |fi |¤Ž| _        | j	                  | j                  «      S rŽ   ©rý   Úgetattrr€   r‚   Ú_handle_response)r„   rù   rZ  r™   rë   rú   s         r…   Ú_requestzClient._requestb  sP   € à)�×)Ñ)¨&°&¸,ÑQÈ&ÑQˆà5œ §¡¨fÓ5°cÑD¸VÑDˆŒØ×$Ñ$ T§]¡]Ó3Ð3r‡   r‚   c                 óÞ   — d| j                   cxk  rdk  s#n t        | | j                   | j                  «      ‚	 | j                  «       S # t        $ r t        d| j                  z  «      ‚w xY w)ú¯Internal helper for handling API responses from the Binance server.
        Raises the appropriate exceptions when necessary; otherwise, returns the
        response.
        éÈ   i,  zInvalid Response: %s)Ústatus_coder   ÚtextÚjsonÚ
ValueErrorr   )r‚   s    r…   r^  zClient._handle_responsei  sh   € ð �x×+Ñ+Ô1¨cÔ1Ü% h°×0DÑ0DÀhÇmÁmÓTÐTð	RØ—=‘=“?Ð"øÜò 	RÜ)Ð*@À8Ç=Á=Ñ*PÓQÐQð	Rús   ºA
 Á
"A,r˜   c                 óR   — | j                  |||«      } | j                  |||fi |¤ŽS rŽ   ©r¢   r_  ©r„   rù   r˜   r™   rš   rú   rZ  s          r…   Ú_request_apizClient._request_apiv  s2   € ð ×"Ñ" 4¨°Ó9ˆØˆt�}‰}˜V S¨&Ñ;°FÑ;Ð;r‡   rš   c                 óR   — | j                  ||«      } | j                  |||dfi |¤ŽS ©NT©rµ   r_  ri  s          r…   Ú_request_futures_apizClient._request_futures_api|  s0   € Ø×*Ñ*¨4°Ó9ˆàˆt�}‰}˜V S¨&°$ÑA¸&ÑAÐAr‡   c                 óP   — | j                  |«      } | j                  |||dfi |¤ŽS rl  ©r¹   r_  ©r„   rù   r˜   r™   rú   rZ  s         r…   Ú_request_futures_data_apiz Client._request_futures_data_api�  s.   € Ø×/Ñ/°Ó5ˆàˆt�}‰}˜V S¨&°$ÑA¸&ÑAÐAr‡   c                 óT   — | j                  ||¬«      } | j                  |||dfi |¤ŽS ©N©rš   T©r¼   r_  ri  s          r…   Ú_request_futures_coin_apiz Client._request_futures_coin_api†  s3   € Ø×/Ñ/°¸gÐ/ÓFˆàˆt�}‰}˜V S¨&°$ÑA¸&ÑAÐAr‡   c                 óT   — | j                  ||¬«      } | j                  |||dfi |¤ŽS rt  ©r¿   r_  ri  s          r…   Ú_request_futures_coin_data_apiz%Client._request_futures_coin_data_api‹  s3   € Ø×4Ñ4°TÀ7Ð4ÓKˆàˆt�}‰}˜V S¨&°$ÑA¸&ÑAÐAr‡   c                 óP   — | j                  |«      } | j                  |||dfi |¤ŽS rl  ©rÂ   r_  rq  s         r…   Ú_request_options_apizClient._request_options_api�  s.   € Ø×*Ñ*¨4Ó0ˆàˆt�}‰}˜V S¨&°$ÑA¸&ÑAÐAr‡   c                 óP   — | j                  ||«      } | j                  |||fi |¤ŽS rŽ   ©r¬   r_  ri  s          r…   Ú_request_margin_apizClient._request_margin_api•  s.   € Ø×)Ñ)¨$°Ó8ˆàˆt�}‰}˜V S¨&Ñ;°FÑ;Ð;r‡   c                 óN   — | j                  |«      } | j                  |||fi |¤ŽS rŽ   ©r®   r_  rq  s         r…   Ú_request_websitezClient._request_websiteš  s,   € Ø×&Ñ& tÓ,ˆØˆt�}‰}˜V S¨&Ñ;°FÑ;Ð;r‡   c                 ó.   —  | j                   d|||fi |¤ŽS ©Nrð   ©rj  ©r„   r˜   r™   rš   rú   s        r…   Ú_getzClient._getž  ó    € Ø ˆt× Ñ  ¨¨f°gÑHÀÑHÐHr‡   c                 ó.   —  | j                   d|||fi |¤ŽS ©NÚpostr†  r‡  s        r…   Ú_postzClient._post¡  s    € Ø ˆt× Ñ  ¨¨v°wÑIÀ&ÑIÐIr‡   c                 ó.   —  | j                   d|||fi |¤ŽS ©NÚputr†  r‡  s        r…   Ú_putzClient._put¤  r‰  r‡   c                 ó.   —  | j                   d|||fi |¤ŽS ©NÚdeleter†  r‡  s        r…   Ú_deletezClient._delete§  s    € Ø ˆt× Ñ  ¨4°¸ÑKÀFÑKÐKr‡   c                 ó*   — | j                  dd«      }|S )záReturn list of products currently listed on Binance

        Use get_exchange_info() call instead

        :returns: list - List of product dictionaries

        :raises: BinanceRequestException, BinanceAPIException

        rð   ú9exchange-api/v1/public/asset-service/product/get-products©rƒ  ©r„   Úproductss     r…   Úget_productszClient.get_products¬  s   € ð ×(Ñ(¨Ð0kÓlˆØˆr‡   c                 ó<   — | j                  d| j                  ¬«      S )a�  Return rate limits and list of symbols

        :returns: list - List of product dictionaries

        .. code-block:: python

            {
                "timezone": "UTC",
                "serverTime": 1508631584636,
                "rateLimits": [
                    {
                        "rateLimitType": "REQUESTS",
                        "interval": "MINUTE",
                        "limit": 1200
                    },
                    {
                        "rateLimitType": "ORDERS",
                        "interval": "SECOND",
                        "limit": 10
                    },
                    {
                        "rateLimitType": "ORDERS",
                        "interval": "DAY",
                        "limit": 100000
                    }
                ],
                "exchangeFilters": [],
                "symbols": [
                    {
                        "symbol": "ETHBTC",
                        "status": "TRADING",
                        "baseAsset": "ETH",
                        "baseAssetPrecision": 8,
                        "quoteAsset": "BTC",
                        "quotePrecision": 8,
                        "orderTypes": ["LIMIT", "MARKET"],
                        "icebergAllowed": false,
                        "filters": [
                            {
                                "filterType": "PRICE_FILTER",
                                "minPrice": "0.00000100",
                                "maxPrice": "100000.00000000",
                                "tickSize": "0.00000100"
                            }, {
                                "filterType": "LOT_SIZE",
                                "minQty": "0.00100000",
                                "maxQty": "100000.00000000",
                                "stepSize": "0.00100000"
                            }, {
                                "filterType": "MIN_NOTIONAL",
                                "minNotional": "0.00100000"
                            }
                        ]
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        ÚexchangeInforu  ©rˆ  rŸ   r�   s    r…   Úget_exchange_infozClient.get_exchange_info¹  s   € ð| �y‰y˜°×1IÑ1IˆyÓJÐJr‡   c                 ól   — | j                  «       }|d   D ]  }|d   |j                  «       k(  sŒ|c S  y)aç  Return information about a symbol

        :param symbol: required e.g. BNBBTC
        :type symbol: str

        :returns: Dict if found, None if not

        .. code-block:: python

            {
                "symbol": "ETHBTC",
                "status": "TRADING",
                "baseAsset": "ETH",
                "baseAssetPrecision": 8,
                "quoteAsset": "BTC",
                "quotePrecision": 8,
                "orderTypes": ["LIMIT", "MARKET"],
                "icebergAllowed": false,
                "filters": [
                    {
                        "filterType": "PRICE_FILTER",
                        "minPrice": "0.00000100",
                        "maxPrice": "100000.00000000",
                        "tickSize": "0.00000100"
                    }, {
                        "filterType": "LOT_SIZE",
                        "minQty": "0.00100000",
                        "maxQty": "100000.00000000",
                        "stepSize": "0.00100000"
                    }, {
                        "filterType": "MIN_NOTIONAL",
                        "minNotional": "0.00100000"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        ÚsymbolsÚsymbolN©rŸ  Úupper©r„   r¢  ÚresÚitems       r…   Úget_symbol_infozClient.get_symbol_infoù  s=   € ðR ×$Ñ$Ó&ˆà˜	”NˆDØ�H‰~ §¡£Ó/Ø’ð #ð r‡   c                 ó<   — | j                  d| j                  ¬«      S )a  Test connectivity to the Rest API.

        https://binance-docs.github.io/apidocs/spot/en/#test-connectivity

        :returns: Empty array

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException

        rV  ru  rž  r�   s    r…   rV  zClient.ping,  s   € ð �y‰y˜¨×)AÑ)AˆyÓBÐBr‡   c                 ó<   — | j                  d| j                  ¬«      S )af  Test connectivity to the Rest API and get the current server time.

        https://binance-docs.github.io/apidocs/spot/en/#check-server-time

        :returns: Current server time

        .. code-block:: python

            {
                "serverTime": 1499827319559
            }

        :raises: BinanceRequestException, BinanceAPIException

        rö   ru  rž  r�   s    r…   Úget_server_timezClient.get_server_time<  s   € ð  �y‰y˜¨×)AÑ)AˆyÓBÐBr‡   c                 ó<   — | j                  d| j                  ¬«      S )a  Latest price for all symbols.

        https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker

        :returns: List of market tickers

        .. code-block:: python

            [
                {
                    "symbol": "LTCBTC",
                    "price": "4.00000200"
                },
                {
                    "symbol": "ETHBTC",
                    "price": "0.07946600"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        úticker/priceru  rž  r�   s    r…   Úget_all_tickerszClient.get_all_tickersP  s   € ð. �y‰y˜°×1IÑ1IˆyÓJÐJr‡   c                 ót   — i }d|v r	|d   |d<   nd|v r|d   |d<   | j                  d|| j                  ¬«      S )a
  Best price/qty on the order book for all symbols.

        https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker

        :param symbol: optional
        :type symbol: str
        :param symbols: optional accepted format  ["BTCUSDT","BNBUSDT"] or %5B%22BTCUSDT%22,%22BNBUSDT%22%5D
        :type symbols: str

        :returns: List of order book market entries

        .. code-block:: python

            [
                {
                    "symbol": "LTCBTC",
                    "bidPrice": "4.00000000",
                    "bidQty": "431.00000000",
                    "askPrice": "4.00000200",
                    "askQty": "9.00000000"
                },
                {
                    "symbol": "ETHBTC",
                    "bidPrice": "0.07946700",
                    "bidQty": "9.00000000",
                    "askPrice": "100000.00000000",
                    "askQty": "1000.00000000"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        r¢  r¡  úticker/bookTicker©rÓ   rš   rž  ©r„   ré   rÓ   s      r…   Úget_orderbook_tickerszClient.get_orderbook_tickersi  sR   € ðD ˆØ�vÑØ# HÑ-ˆD�ŠNØ˜&Ñ Ø$ YÑ/ˆD�‰OØ�y‰yÐ,°4À×AYÑAYˆyÓZÐZr‡   c                 ó>   — | j                  d|| j                  ¬«      S )ak  Get the Order Book for the market

        https://binance-docs.github.io/apidocs/spot/en/#order-book

        :param symbol: required
        :type symbol: str
        :param limit:  Default 100; max 1000
        :type limit: int

        :returns: API response

        .. code-block:: python

            {
                "lastUpdateId": 1027024,
                "bids": [
                    [
                        "4.00000000",     # PRICE
                        "431.00000000",   # QTY
                        []                # Can be ignored
                    ]
                ],
                "asks": [
                    [
                        "4.00000200",
                        "12.00000000",
                        []
                    ]
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        Údepthr±  rž  ©r„   ré   s     r…   Úget_order_bookzClient.get_order_book’  s    € ðF �y‰y˜ v°t×7OÑ7OˆyÓPÐPr‡   c                 ó(   — | j                  d|¬«      S )a®  Get recent trades (up to last 500).

        https://binance-docs.github.io/apidocs/spot/en/#recent-trades-list

        :param symbol: required
        :type symbol: str
        :param limit:  Default 500; max 1000.
        :type limit: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "id": 28457,
                    "price": "4.00000100",
                    "qty": "12.00000000",
                    "time": 1499865549590,
                    "isBuyerMaker": true,
                    "isBestMatch": true
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        Útrades©rÓ   ©rˆ  r¶  s     r…   Úget_recent_tradeszClient.get_recent_trades·  s   € ð8 �y‰y˜¨ˆyÓ/Ð/r‡   c                 ó>   — | j                  d|| j                  ¬«      S )a  Get older trades.

        https://binance-docs.github.io/apidocs/spot/en/#old-trade-lookup

        :param symbol: required
        :type symbol: str
        :param limit:  Default 500; max 1000.
        :type limit: int
        :param fromId:  TradeId to fetch from. Default gets most recent trades.
        :type fromId: str

        :returns: API response

        .. code-block:: python

            [
                {
                    "id": 28457,
                    "price": "4.00000100",
                    "qty": "12.00000000",
                    "time": 1499865549590,
                    "isBuyerMaker": true,
                    "isBestMatch": true
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        ÚhistoricalTradesr±  rž  r¶  s     r…   Úget_historical_tradeszClient.get_historical_tradesÕ  s    € ð< �y‰yÐ+°&À$×BZÑBZˆyÓ[Ð[r‡   c                 ó>   — | j                  d|| j                  ¬«      S )aD  Get compressed, aggregate trades. Trades that fill at the time,
        from the same order, with the same price will have the quantity aggregated.

        https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list

        :param symbol: required
        :type symbol: str
        :param fromId:  ID to get aggregate trades from INCLUSIVE.
        :type fromId: str
        :param startTime: Timestamp in ms to get aggregate trades from INCLUSIVE.
        :type startTime: int
        :param endTime: Timestamp in ms to get aggregate trades until INCLUSIVE.
        :type endTime: int
        :param limit:  Default 500; max 1000.
        :type limit: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "a": 26129,         # Aggregate tradeId
                    "p": "0.01633102",  # Price
                    "q": "4.70443515",  # Quantity
                    "f": 27781,         # First tradeId
                    "l": 27781,         # Last tradeId
                    "T": 1498793709153, # Timestamp
                    "m": true,          # Was the buyer the maker?
                    "M": true           # Was the trade the best price match?
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        Ú	aggTradesr±  rž  r¶  s     r…   Úget_aggregate_tradeszClient.get_aggregate_tradesõ  s    € ðJ �y‰y˜¨6¸4×;SÑ;SˆyÓTÐTr‡   r¢  c              #   óÔ  K  — |�|�t        d«      ‚|€Ž|€| j                  |d¬«      }n[t        |«      }	 |dz   }| j                  |||¬«      }t        |«      dkD  rn'|t	        t        j
                  «       dz  «      kD  ry|}ŒO|D ]  }|–— Œ |d   | j                     }	 | j                  ||¬«      }|d	d }t        |«      dk(  ry|D ]  }|–— Œ |d   | j                     }ŒE­w)
u¢  Iterate over aggregate trade data from (start_time or last_id) to
        the end of the history so far.

        If start_time is specified, start with the first trade after
        start_time. Meant to initialise a local cache of trade data.

        If last_id is specified, start with the trade after it. This is meant
        for updating a pre-existing local trade data cache.

        Only allows start_str or last_idâ€”not both. Not guaranteed to work
        right if you're running more than one of these simultaneously. You
        will probably hit your rate limit.

        See dateparser docs for valid start and end string formats http://dateparser.readthedocs.io/en/latest/

        If using offset strings for dates add "UTC" to date string e.g. "now UTC", "11 hours ago UTC"

        :param symbol: Symbol string e.g. ETHBTC
        :type symbol: str
        :param start_str: Start date string in UTC format or timestamp in milliseconds. The iterator will
        return the first trade occurring later than this time.
        :type start_str: str|int
        :param last_id: aggregate trade ID of the last known aggregate trade.
        Not a regular trade ID. See https://binance-docs.github.io/apidocs/spot/en/#compressed-aggregate-trades-list

        :returns: an iterator of JSON objects, one per trade. The format of
        each object is identical to Client.aggregate_trades().

        :type last_id: int
        Nú;start_time and last_id may not be simultaneously specified.r   ©r¢  ÚfromIdé€î6 ©r¢  Ú	startTimeÚendTimerî   éÿÿÿÿr   ©rf  rÂ  r   Úlenrõ   rö   r7  ©r„   r¢  Ú	start_strÚlast_idr¹  Ústart_tsÚend_tsÚts           r…   Úaggregate_trade_iterzClient.aggregate_trade_iter  s8  è ø€ ð> Ð  WÐ%8ÜØMóOð Oð ˆ?ð Ð Ø×2Ñ2¸&ÈÐ2ÓK‘ô
 *¨)Ó4�ð Ø%¨Ñ8�FØ!×6Ñ6Ø%Ø"*Ø &ð 7ó (�Fô ˜6“{ Q’Øð ¤¤D§I¡I£K°$Ñ$6Ó 7Ò7ØØ%�Hð ó �Ø“ð à˜R‘j §¡Ñ-ˆGàð ×.Ñ.°fÀWÐ.ÓMˆFð ˜A˜B�ZˆFÜ�6‹{˜aÒØÛ�Ø“ð à˜R‘j §¡Ñ-ˆGð ùs   ‚C&C(c                 ó>   — | j                  d|| j                  ¬«      S )a)  Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

        https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data

        :param symbol: required
        :type symbol: str
        :param interval: -
        :type interval: str
        :param limit: - Default 500; max 1000.
        :type limit: int
        :param startTime:
        :type startTime: int
        :param endTime:
        :type endTime: int

        :returns: API response

        .. code-block:: python

            [
                [
                    1499040000000,      # Open time
                    "0.01634790",       # Open
                    "0.80000000",       # High
                    "0.01575800",       # Low
                    "0.01577100",       # Close
                    "148976.11427815",  # Volume
                    1499644799999,      # Close time
                    "2434.19055334",    # Quote asset volume
                    308,                # Number of trades
                    "1756.87402397",    # Taker buy base asset volume
                    "28.46694368",      # Taker buy quote asset volume
                    "17928899.62484339" # Can be ignored
                ]
            ]

        :raises: BinanceRequestException, BinanceAPIException

        Úklinesr±  rž  r¶  s     r…   Ú
get_klineszClient.get_klineso  s    € ðP �y‰y˜¨¸×8PÑ8PˆyÓQÐQr‡   Úklines_typec                 ó  — d|v r|d   s|d= t         j                  |k(  r | j                  di |¤ŽS t         j                  |k(  r | j                  di |¤ŽS t         j
                  |k(  r | j                  di |¤ŽS t        |«      ‚)zîGet klines of spot (get_klines) or futures (futures_klines) endpoints.

        :param klines_type: Historical klines type: SPOT or FUTURES
        :type klines_type: HistoricalKlinesType

        :return: klines, see get_klines

        rÊ  rÞ   ©r   r%   r×  ÚFUTURESÚfutures_klinesÚFUTURES_COINÚfutures_coin_klinesr   ©r„   rØ  ré   s      r…   Ú_klineszClient._klines™  s�   € ð ˜Ñ v¨iÒ'8Ø�yÐ!ä×$Ñ$¨Ò3Ø"�4—?‘?Ñ, VÑ,Ð,Ü!×)Ñ)¨[Ò8Ø&�4×&Ñ&Ñ0¨Ñ0Ð0Ü!×.Ñ.°+Ò=Ø+�4×+Ñ+Ñ5¨fÑ5Ð5ä)¨+Ó6Ð6r‡   c                 ó|   — | j                  |||ddt        t        j                  «       dz  «      ¬«      }|d   d   S )av  Get the earliest valid open timestamp from Binance

        :param symbol: Name of symbol pair e.g. BNBBTC
        :type symbol: str
        :param interval: Binance Kline interval
        :type interval: str
        :param klines_type: Historical klines type: SPOT or FUTURES
        :type klines_type: HistoricalKlinesType

        :return: first valid timestamp

        r   r   rî   ©rØ  r¢  ÚintervalÚlimitrÉ  rÊ  ©rà  rõ   rö   ©r„   r¢  rã  rØ  Úklines        r…   Ú_get_earliest_valid_timestampz$Client._get_earliest_valid_timestamp®  sI   € ð —‘Ø#ØØØØÜœŸ	™	› dÑ*Ó+ð ó 
ˆð �Q‰x˜‰{Ðr‡   rî   c                 ó0   — | j                  ||||||¬«      S )aw  Get Historical Klines from Binance

        :param symbol: Name of symbol pair e.g. BNBBTC
        :type symbol: str
        :param interval: Binance Kline interval
        :type interval: str
        :param start_str: optional - start date string in UTC format or timestamp in milliseconds
        :type start_str: str|int
        :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
        :type end_str: str|int
        :param limit: Default 1000; max 1000.
        :type limit: int
        :param klines_type: Historical klines type: SPOT or FUTURES
        :type klines_type: HistoricalKlinesType

        :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)

        )rÏ  Úend_strrä  rØ  ©Ú_historical_klines©r„   r¢  rã  rÏ  rê  rä  rØ  s          r…   Úget_historical_klineszClient.get_historical_klinesÅ  s*   € ð( ×&Ñ&Ø�H¨	¸7È%Ð]hð 'ó 
ð 	
r‡   c                 óŠ  — g }t        |«      }t        |«      }	|	�| j                  |||«      }
t        |	|
«      }	t        |«      }|r	|	r||	k  r|S d}	 | j	                  |||||	|¬«      }|r||z  }t        |«      rt        |«      |k  r	 |S |d   d   |z   }	|r|	|k\  r	 |S |dz  }|dz  dk(  rt        j                  d«       Œr)af  Get Historical Klines from Binance (spot or futures)

        See dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/

        If using offset strings for dates add "UTC" to date string e.g. "now UTC", "11 hours ago UTC"

        :param symbol: Name of symbol pair e.g. BNBBTC
        :type symbol: str
        :param interval: Binance Kline interval
        :type interval: str
        :param start_str: optional - start date string in UTC format or timestamp in milliseconds
        :type start_str: str|int
        :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
        :type end_str: None|str|int
        :param limit: Default 1000; max 1000.
        :type limit: int
        :param klines_type: Historical klines type: SPOT or FUTURES
        :type klines_type: HistoricalKlinesType

        :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)

        r   râ  rË  r   r¥   ©r   r   rè  Úmaxrà  rÍ  rö   Úsleep©r„   r¢  rã  rÏ  rê  rä  rØ  Úoutput_dataÚ	timeframerÑ  Úfirst_valid_tsrÒ  ÚidxÚ	temp_datas                 r…   rì  zClient._historical_klinesÝ  s  € ð2 ˆô -¨XÓ6ˆ	ô " )Ó,ˆð ÐØ!×?Ñ?ÀÈÐR]Ó^ˆNÜ˜8 ^Ó4ˆHô   Ó(ˆÙ‘h 6¨XÒ#5ØÐàˆØàŸ™Ø'ØØ!ØØ"Øð %ó ˆIñ Ø˜yÑ(�ô �y”>¤S¨£^°eÒ%;àð Ðð ! ‘} QÑ'¨)Ñ3ˆHñ ˜( fÒ,Øð Ðð	 �1‰HˆCØ�Q‰w˜!Š|Ü—
‘
˜1”ð? r‡   c                 ó0   — | j                  ||||||¬«      S )a  Get Historical Klines generator from Binance

        :param symbol: Name of symbol pair e.g. BNBBTC
        :type symbol: str
        :param interval: Binance Kline interval
        :type interval: str
        :param start_str: optional - Start date string in UTC format or timestamp in milliseconds
        :type start_str: str|int
        :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
        :type end_str: str|int
        :param limit: amount of candles to return per request (default 1000)
        :type limit: int
        :param klines_type: Historical klines type: SPOT or FUTURES
        :type klines_type: HistoricalKlinesType

        :return: generator of OHLCV values

        )rØ  ©Ú_historical_klines_generatorrí  s          r…   Úget_historical_klines_generatorz&Client.get_historical_klines_generator,  s$   € ð* ×0Ñ0°¸À9ÈgÐW\ÐjuÐ0ÓvÐvr‡   c              #   ó�  K  — t        |«      }t        |«      }|�| j                  |||«      }	t        ||	«      }t        |«      }
|
r|r|
|k  ryd}	 | j	                  ||||||
¬«      }|r|D ]  }|–— Œ t        |«      rt        |«      |k  ry|d   d   |z   }|
r||
k\  ry|dz  }|dz  dk(  rt        j                  d«       Œt­w)aˆ  Get Historical Klines generator from Binance (spot or futures)

        See dateparser docs for valid start and end string formats https://dateparser.readthedocs.io/en/latest/

        If using offset strings for dates add "UTC" to date string e.g. "now UTC", "11 hours ago UTC"

        :param symbol: Name of symbol pair e.g. BNBBTC
        :type symbol: str
        :param interval: Binance Kline interval
        :type interval: str
        :param start_str: optional - Start date string in UTC format or timestamp in milliseconds
        :type start_str: str|int
        :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
        :type end_str: str|int
        :param klines_type: Historical klines type: SPOT or FUTURES
        :type klines_type: HistoricalKlinesType

        :return: generator of OHLCV values

        Nr   râ  rË  r   r¥   rð  ©r„   r¢  rã  rÏ  rê  rä  rØ  rõ  rÑ  rö  rÒ  r÷  rô  Úos                 r…   rû  z#Client._historical_klines_generatorC  s  è ø€ ô0 -¨XÓ6ˆ	ô " )Ó,ˆð ÐØ!×?Ñ?ÀÈÐR]Ó^ˆNÜ˜8 ^Ó4ˆHô   Ó(ˆÙ‘h 6¨XÒ#5ØàˆØàŸ,™,Ø'ØØ!ØØ"Øð 'ó ˆKñ Û$�AØ“Gð %ô
 �{Ô#¤s¨;Ó'7¸%Ò'?àð # 2‘ qÑ)¨IÑ5ˆHñ ˜( fÒ,Øð �1‰HˆCØ�Q‰w˜!Š|Ü—
‘
˜1”ðC ùs   ‚CCc                 ó>   — | j                  d|| j                  ¬«      S )aK  Current average price for a symbol.

        https://binance-docs.github.io/apidocs/spot/en/#current-average-price

        :param symbol:
        :type symbol: str

        :returns: API response

        .. code-block:: python

            {
                "mins": 5,
                "price": "9.35751834"
            }
        ÚavgPricer±  rž  r¶  s     r…   Úget_avg_pricezClient.get_avg_priceŽ  s   € ð" �y‰y˜¨&¸$×:RÑ:RˆyÓSÐSr‡   c                 ó>   — | j                  d|| j                  ¬«      S )aÀ  24 hour price change statistics.

        https://binance-docs.github.io/apidocs/spot/en/#24hr-ticker-price-change-statistics

        :param symbol:
        :type symbol: str

        :returns: API response

        .. code-block:: python

            {
                "priceChange": "-94.99999800",
                "priceChangePercent": "-95.960",
                "weightedAvgPrice": "0.29628482",
                "prevClosePrice": "0.10002000",
                "lastPrice": "4.00000200",
                "bidPrice": "4.00000000",
                "askPrice": "4.00000200",
                "openPrice": "99.00000000",
                "highPrice": "100.00000000",
                "lowPrice": "0.10000000",
                "volume": "8913.30000000",
                "openTime": 1499783499040,
                "closeTime": 1499869899040,
                "fristId": 28385,   # First tradeId
                "lastId": 28460,    # Last tradeId
                "count": 76         # Trade count
            }

        OR

        .. code-block:: python

            [
                {
                    "priceChange": "-94.99999800",
                    "priceChangePercent": "-95.960",
                    "weightedAvgPrice": "0.29628482",
                    "prevClosePrice": "0.10002000",
                    "lastPrice": "4.00000200",
                    "bidPrice": "4.00000000",
                    "askPrice": "4.00000200",
                    "openPrice": "99.00000000",
                    "highPrice": "100.00000000",
                    "lowPrice": "0.10000000",
                    "volume": "8913.30000000",
                    "openTime": 1499783499040,
                    "closeTime": 1499869899040,
                    "fristId": 28385,   # First tradeId
                    "lastId": 28460,    # Last tradeId
                    "count": 76         # Trade count
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        úticker/24hrr±  rž  r¶  s     r…   Ú
get_tickerzClient.get_ticker¡  s    € ðv �y‰y˜¨V¸T×=UÑ=UˆyÓVÐVr‡   c                 ó>   — | j                  d|| j                  ¬«      S )aÊ  Latest price for a symbol or symbols.

        https://binance-docs.github.io/apidocs/spot/en/#symbol-price-ticker

        :param symbol:
        :type symbol: str

        :returns: API response

        .. code-block:: python

            {
                "symbol": "LTCBTC",
                "price": "4.00000200"
            }

        OR

        .. code-block:: python

            [
                {
                    "symbol": "LTCBTC",
                    "price": "4.00000200"
                },
                {
                    "symbol": "ETHBTC",
                    "price": "0.07946600"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        r­  r±  rž  r¶  s     r…   Úget_symbol_tickerzClient.get_symbol_tickerÞ  s    € ðF �y‰y˜¨f¸d×>VÑ>VˆyÓWÐWr‡   c                 ó>   — | j                  d|| j                  ¬«      S )aj  Latest price for a symbol or symbols.

        https://binance-docs.github.io/apidocs/spot/en/#symbol-order-book-ticker

        :param symbol:
        :type symbol: str

        :returns: API response

        .. code-block:: python

            {
                "symbol": "LTCBTC",
                "bidPrice": "4.00000000",
                "bidQty": "431.00000000",
                "askPrice": "4.00000200",
                "askQty": "9.00000000"
            }

        OR

        .. code-block:: python

            [
                {
                    "symbol": "LTCBTC",
                    "bidPrice": "4.00000000",
                    "bidQty": "431.00000000",
                    "askPrice": "4.00000200",
                    "askQty": "9.00000000"
                },
                {
                    "symbol": "ETHBTC",
                    "bidPrice": "0.07946700",
                    "bidQty": "9.00000000",
                    "askPrice": "100000.00000000",
                    "askQty": "1000.00000000"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        r°  r±  rž  r¶  s     r…   Úget_orderbook_tickerzClient.get_orderbook_ticker  s!   € ðX �y‰yÐ,°6À4×C[ÑC[ˆyÓ\Ð\r‡   c                 ó*   — | j                  dd|¬«      S )a…  Send in a new order

        Any order with an icebergQty MUST have timeInForce set to GTC.

        https://binance-docs.github.io/apidocs/spot/en/#new-order-trade

        :param symbol: required
        :type symbol: str
        :param side: required
        :type side: str
        :param type: required
        :type type: str
        :param timeInForce: required if limit order
        :type timeInForce: str
        :param quantity: required
        :type quantity: decimal
        :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)
            of the quote asset, applicable to MARKET orders
        :type quoteOrderQty: decimal
        :param price: required
        :type price: str
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
        :type icebergQty: decimal
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        Response ACK:

        .. code-block:: python

            {
                "symbol":"LTCBTC",
                "orderId": 1,
                "clientOrderId": "myOrder1" # Will be newClientOrderId
                "transactTime": 1499827319559
            }

        Response RESULT:

        .. code-block:: python

            {
                "symbol": "BTCUSDT",
                "orderId": 28,
                "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
                "transactTime": 1507725176595,
                "price": "0.00000000",
                "origQty": "10.00000000",
                "executedQty": "10.00000000",
                "cummulativeQuoteQty": "10.00000000",
                "status": "FILLED",
                "timeInForce": "GTC",
                "type": "MARKET",
                "side": "SELL"
            }

        Response FULL:

        .. code-block:: python

            {
                "symbol": "BTCUSDT",
                "orderId": 28,
                "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
                "transactTime": 1507725176595,
                "price": "0.00000000",
                "origQty": "10.00000000",
                "executedQty": "10.00000000",
                "cummulativeQuoteQty": "10.00000000",
                "status": "FILLED",
                "timeInForce": "GTC",
                "type": "MARKET",
                "side": "SELL",
                "fills": [
                    {
                        "price": "4000.00000000",
                        "qty": "1.00000000",
                        "commission": "4.00000000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3999.00000000",
                        "qty": "5.00000000",
                        "commission": "19.99500000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3998.00000000",
                        "qty": "2.00000000",
                        "commission": "7.99600000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3997.00000000",
                        "qty": "1.00000000",
                        "commission": "3.99700000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3995.00000000",
                        "qty": "1.00000000",
                        "commission": "3.99500000",
                        "commissionAsset": "USDT"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        ÚorderTrº  ©r�  r¶  s     r…   Úcreate_orderzClient.create_order3  s   € ðj �z‰z˜' 4¨fˆzÓ5Ð5r‡   c                 ób   — |j                  | j                  |dœ«        | j                  di |¤ŽS )a  Send in a new limit order

        Any order with an icebergQty MUST have timeInForce set to GTC.

        :param symbol: required
        :type symbol: str
        :param side: required
        :type side: str
        :param quantity: required
        :type quantity: decimal
        :param price: required
        :type price: str
        :param timeInForce: default Good till cancelled
        :type timeInForce: str
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
        :type icebergQty: decimal
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        ©ÚtypeÚtimeInForcerÞ   ©rô   r#  r  ©r„   r  ré   s      r…   Úorder_limitzClient.order_limitª  s9   € ð> 	�‰Ø×)Ñ)Ø&ñ
ô 	ð !ˆt× Ñ Ñ* 6Ñ*Ð*r‡   c                 ód   — |j                  d| j                  i«        | j                  dd|i|¤ŽS )aê  Send in a new limit buy order

        Any order with an icebergQty MUST have timeInForce set to GTC.

        :param symbol: required
        :type symbol: str
        :param quantity: required
        :type quantity: decimal
        :param price: required
        :type price: str
        :param timeInForce: default Good till cancelled
        :type timeInForce: str
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param stopPrice: Used with stop orders
        :type stopPrice: decimal
        :param icebergQty: Used with iceberg orders
        :type icebergQty: decimal
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        Úsider  rÞ   ©rô   r!  r  r  s      r…   Úorder_limit_buyzClient.order_limit_buyÏ  s;   € ð> 	�‰Ø�D—M‘Mð
ô 	ð  ˆt×ÑÑB¨KÐB¸6ÑBÐBr‡   c                 ód   — |j                  d| j                  i«        | j                  dd|i|¤ŽS )a£  Send in a new limit sell order

        :param symbol: required
        :type symbol: str
        :param quantity: required
        :type quantity: decimal
        :param price: required
        :type price: str
        :param timeInForce: default Good till cancelled
        :type timeInForce: str
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param stopPrice: Used with stop orders
        :type stopPrice: decimal
        :param icebergQty: Used with iceberg orders
        :type icebergQty: decimal
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        r  r  rÞ   ©rô   r"  r  r  s      r…   Úorder_limit_sellzClient.order_limit_selló  s;   € ð: 	�‰Ø�D—N‘Nð
ô 	ð  ˆt×ÑÑB¨KÐB¸6ÑBÐBr‡   c                 ó`   — |j                  d| j                  i«        | j                  di |¤ŽS )aH  Send in a new market order

        :param symbol: required
        :type symbol: str
        :param side: required
        :type side: str
        :param quantity: required
        :type quantity: decimal
        :param quoteOrderQty: amount the user wants to spend (when buying) or receive (when selling)
            of the quote asset
        :type quoteOrderQty: decimal
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        r  rÞ   ©rô   r$  r  r¶  s     r…   Úorder_marketzClient.order_market  s8   € ð4 	�‰Ø�D×*Ñ*ð
ô 	ð !ˆt× Ñ Ñ* 6Ñ*Ð*r‡   c                 ó`   — |j                  d| j                  i«        | j                  di |¤ŽS )aæ  Send in a new market buy order

        :param symbol: required
        :type symbol: str
        :param quantity: required
        :type quantity: decimal
        :param quoteOrderQty: the amount the user wants to spend of the quote asset
        :type quoteOrderQty: decimal
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        r  rÞ   ©rô   r!  r  r¶  s     r…   Úorder_market_buyzClient.order_market_buy4  s6   € ð. 	�‰Ø�D—M‘Mð
ô 	ð !ˆt× Ñ Ñ* 6Ñ*Ð*r‡   c                 ó`   — |j                  d| j                  i«        | j                  di |¤ŽS )aé  Send in a new market sell order

        :param symbol: required
        :type symbol: str
        :param quantity: required
        :type quantity: decimal
        :param quoteOrderQty: the amount the user wants to receive of the quote asset
        :type quoteOrderQty: decimal
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        r  rÞ   ©rô   r"  r  r¶  s     r…   Úorder_market_sellzClient.order_market_sellP  s6   € ð. 	�‰Ø�D—N‘Nð
ô 	ð !ˆt× Ñ Ñ* 6Ñ*Ð*r‡   c                 ó*   — | j                  dd|¬«      S )a  Send in a new OCO order

        https://binance-docs.github.io/apidocs/spot/en/#new-oco-trade

        :param symbol: required
        :type symbol: str
        :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.
        :type listClientOrderId: str
        :param side: required
        :type side: str
        :param quantity: required
        :type quantity: decimal
        :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.
        :type limitClientOrderId: str
        :param price: required
        :type price: str
        :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.
        :type limitIcebergQty: decimal
        :param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.
        :type stopClientOrderId: str
        :param stopPrice: required
        :type stopPrice: str
        :param stopLimitPrice: If provided, stopLimitTimeInForce is required.
        :type stopLimitPrice: str
        :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.
        :type stopIcebergQty: decimal
        :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.
        :type stopLimitTimeInForce: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        Response ACK:

        .. code-block:: python

            {
            }

        Response RESULT:

        .. code-block:: python

            {
            }

        Response FULL:

        .. code-block:: python

            {
            }

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        ú	order/ocoTrº  r  r¶  s     r…   Úcreate_oco_orderzClient.create_oco_orderl  s   € ðx �z‰z˜+ t°&ˆzÓ9Ð9r‡   c                 ó`   — |j                  d| j                  i«        | j                  di |¤ŽS )aÚ  Send in a new OCO buy order

        :param symbol: required
        :type symbol: str
        :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.
        :type listClientOrderId: str
        :param quantity: required
        :type quantity: decimal
        :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.
        :type limitClientOrderId: str
        :param price: required
        :type price: str
        :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.
        :type limitIcebergQty: decimal
        :param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.
        :type stopClientOrderId: str
        :param stopPrice: required
        :type stopPrice: str
        :param stopLimitPrice: If provided, stopLimitTimeInForce is required.
        :type stopLimitPrice: str
        :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.
        :type stopIcebergQty: decimal
        :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.
        :type stopLimitTimeInForce: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See OCO order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        r  rÞ   ©rô   r!  r'  r¶  s     r…   Úorder_oco_buyzClient.order_oco_buyª  s7   € ðJ 	�‰Ø�D—M‘Mð
ô 	ð %ˆt×$Ñ$Ñ. vÑ.Ð.r‡   c                 ó`   — |j                  d| j                  i«        | j                  di |¤ŽS )aÛ  Send in a new OCO sell order

        :param symbol: required
        :type symbol: str
        :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.
        :type listClientOrderId: str
        :param quantity: required
        :type quantity: decimal
        :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.
        :type limitClientOrderId: str
        :param price: required
        :type price: str
        :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.
        :type limitIcebergQty: decimal
        :param stopClientOrderId: A unique id for the stop order. Automatically generated if not sent.
        :type stopClientOrderId: str
        :param stopPrice: required
        :type stopPrice: str
        :param stopLimitPrice: If provided, stopLimitTimeInForce is required.
        :type stopLimitPrice: str
        :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.
        :type stopIcebergQty: decimal
        :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.
        :type stopLimitTimeInForce: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        See OCO order endpoint for full response options

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException

        r  rÞ   ©rô   r"  r'  r¶  s     r…   Úorder_oco_sellzClient.order_oco_sellÔ  s7   € ðJ 	�‰Ø�D—N‘Nð
ô 	ð %ˆt×$Ñ$Ñ. vÑ.Ð.r‡   c                 ó*   — | j                  dd|¬«      S )al  Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.

        https://binance-docs.github.io/apidocs/spot/en/#test-new-order-trade

        :param symbol: required
        :type symbol: str
        :param side: required
        :type side: str
        :param type: required
        :type type: str
        :param timeInForce: required if limit order
        :type timeInForce: str
        :param quantity: required
        :type quantity: decimal
        :param price: required
        :type price: str
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param icebergQty: Used with iceberg orders
        :type icebergQty: decimal
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param recvWindow: The number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException, BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException, BinanceOrderInactiveSymbolException


        ú
order/testTrº  r  r¶  s     r…   Úcreate_test_orderzClient.create_test_orderþ  s   € ðH �z‰z˜,¨°6ˆzÓ:Ð:r‡   c                 ó*   — | j                  dd|¬«      S )aK  Check an order's status. Either orderId or origClientOrderId must be sent.

        https://binance-docs.github.io/apidocs/spot/en/#query-order-user_data

        :param symbol: required
        :type symbol: str
        :param orderId: The unique order id
        :type orderId: int
        :param origClientOrderId: optional
        :type origClientOrderId: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "symbol": "LTCBTC",
                "orderId": 1,
                "clientOrderId": "myOrder1",
                "price": "0.1",
                "origQty": "1.0",
                "executedQty": "0.0",
                "status": "NEW",
                "timeInForce": "GTC",
                "type": "LIMIT",
                "side": "BUY",
                "stopPrice": "0.0",
                "icebergQty": "0.0",
                "time": 1499827319559
            }

        :raises: BinanceRequestException, BinanceAPIException

        r  Trº  r»  r¶  s     r…   Ú	get_orderzClient.get_order$  s   € ðJ �y‰y˜ $¨VˆyÓ4Ð4r‡   c                 ó*   — | j                  dd|¬«      S )aþ  Get all account orders; active, canceled, or filled.

        https://binance-docs.github.io/apidocs/spot/en/#all-orders-user_data

        :param symbol: required
        :type symbol: str
        :param orderId: The unique order id
        :type orderId: int
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param limit: Default 500; max 1000.
        :type limit: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "symbol": "LTCBTC",
                    "orderId": 1,
                    "clientOrderId": "myOrder1",
                    "price": "0.1",
                    "origQty": "1.0",
                    "executedQty": "0.0",
                    "status": "NEW",
                    "timeInForce": "GTC",
                    "type": "LIMIT",
                    "side": "BUY",
                    "stopPrice": "0.0",
                    "icebergQty": "0.0",
                    "time": 1499827319559
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        Ú	allOrdersTrº  r»  r¶  s     r…   Úget_all_orderszClient.get_all_ordersK  s   € ðV �y‰y˜ d°ˆyÓ8Ð8r‡   c                 ó*   — | j                  dd|¬«      S )a¯  Cancel an active order. Either orderId or origClientOrderId must be sent.

        https://binance-docs.github.io/apidocs/spot/en/#cancel-order-trade

        :param symbol: required
        :type symbol: str
        :param orderId: The unique order id
        :type orderId: int
        :param origClientOrderId: optional
        :type origClientOrderId: str
        :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.
        :type newClientOrderId: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "symbol": "LTCBTC",
                "origClientOrderId": "myOrder1",
                "orderId": 1,
                "clientOrderId": "cancelMyOrder1"
            }

        :raises: BinanceRequestException, BinanceAPIException

        r  Trº  ©r•  r¶  s     r…   Úcancel_orderzClient.cancel_orderx  s   € ð< �|‰|˜G T°ˆ|Ó7Ð7r‡   c                 ó*   — | j                  dd|¬«      S )aê  Get all open orders on a symbol.

        https://binance-docs.github.io/apidocs/spot/en/#current-open-orders-user_data

        :param symbol: optional
        :type symbol: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "symbol": "LTCBTC",
                    "orderId": 1,
                    "clientOrderId": "myOrder1",
                    "price": "0.1",
                    "origQty": "1.0",
                    "executedQty": "0.0",
                    "status": "NEW",
                    "timeInForce": "GTC",
                    "type": "LIMIT",
                    "side": "BUY",
                    "stopPrice": "0.0",
                    "icebergQty": "0.0",
                    "time": 1499827319559
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        Ú
openOrdersTrº  r»  r¶  s     r…   Úget_open_orderszClient.get_open_orders˜  s   € ðF �y‰y˜ t°&ˆyÓ9Ð9r‡   c                 ó*   — | j                  dd|¬«      S )aâ  Get all open orders on a symbol.
        https://binance-docs.github.io/apidocs/spot/en/#query-open-oco-user_data
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int
        :returns: API response
        .. code-block:: python
            [
                {
                    "orderListId": 31,
                    "contingencyType": "OCO",
                    "listStatusType": "EXEC_STARTED",
                    "listOrderStatus": "EXECUTING",
                    "listClientOrderId": "wuB13fmulKj3YjdqWEcsnp",
                    "transactionTime": 1565246080644,
                    "symbol": "LTCBTC",
                    "orders": [
                        {
                            "symbol": "LTCBTC",
                            "orderId": 4,
                            "clientOrderId": "r3EH2N76dHfLoSZWIUw1bT"
                        },
                        {
                            "symbol": "LTCBTC",
                            "orderId": 5,
                            "clientOrderId": "Cv1SnyPD3qhqpbjpYEHbd2"
                        }
                    ]
                }
            ]
        :raises: BinanceRequestException, BinanceAPIException
        ÚopenOrderListTrº  r»  r¶  s     r…   Úget_open_oco_orderszClient.get_open_oco_orders½  s   € ð@ �y‰y˜¨$°VˆyÓ<Ð<r‡   c                 ó*   — | j                  dd|¬«      S )a0  Get current account information.

        https://binance-docs.github.io/apidocs/spot/en/#account-information-user_data

        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "makerCommission": 15,
                "takerCommission": 15,
                "buyerCommission": 0,
                "sellerCommission": 0,
                "canTrade": true,
                "canWithdraw": true,
                "canDeposit": true,
                "balances": [
                    {
                        "asset": "BTC",
                        "free": "4723846.89208129",
                        "locked": "0.00000000"
                    },
                    {
                        "asset": "LTC",
                        "free": "4763368.68006011",
                        "locked": "0.00000000"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        ÚaccountTrº  r»  r¶  s     r…   Úget_accountzClient.get_accountà  s   € ðJ �y‰y˜ D¨vˆyÓ6Ð6r‡   c                 ó”   —  | j                   di |¤Ž}d|v r2|d   D ]*  }|d   j                  «       |j                  «       k(  sŒ(|c S  y)aì  Get current asset balance.

        :param asset: required
        :type asset: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: dictionary or None if not found

        .. code-block:: python

            {
                "asset": "BTC",
                "free": "4723846.89208129",
                "locked": "0.00000000"
            }

        :raises: BinanceRequestException, BinanceAPIException

        ÚbalancesÚassetNrÞ   ©rA  Úlower©r„   rD  ré   r¦  Úbals        r…   Úget_asset_balancezClient.get_asset_balance  sT   € ð* ˆd×ÑÑ( Ñ(ˆà˜ÑØ˜:”�Ø�w‘<×%Ñ%Ó'¨5¯;©;«=Ó8Ø’Jð 'ð r‡   c                 ó*   — | j                  dd|¬«      S )a‡  Get trades for a specific symbol.

        https://binance-docs.github.io/apidocs/spot/en/#account-trade-list-user_data

        :param symbol: required
        :type symbol: str
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param limit: Default 500; max 1000.
        :type limit: int
        :param fromId: TradeId to fetch from. Default gets most recent trades.
        :type fromId: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "id": 28457,
                    "price": "4.00000100",
                    "qty": "12.00000000",
                    "commission": "10.10000000",
                    "commissionAsset": "BNB",
                    "time": 1499865549590,
                    "isBuyer": true,
                    "isMaker": false,
                    "isBestMatch": true
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        ÚmyTradesTrº  r»  r¶  s     r…   Úget_my_tradeszClient.get_my_trades$  s   € ðN �y‰y˜ T°ˆyÓ7Ð7r‡   c                 ó&   — | j                  dd«      S )aÑ  Displays the user's current order count usage for all intervals.

        https://binance-docs.github.io/apidocs/spot/en/#query-current-order-count-usage-trade

        :returns: API response

        .. code-block:: python
            [

                {
                    "rateLimitType": "ORDERS",
                    "interval": "SECOND",
                    "intervalNum": 10,
                    "limit": 10000,
                    "count": 0
                },
                {
                    "rateLimitType": "ORDERS",
                    "interval": "DAY",
                    "intervalNum": 1,
                    "limit": 20000,
                    "count": 0
                }
            ]

        úrateLimit/orderTr»  r�   s    r…   Úget_current_order_countzClient.get_current_order_countM  s   € ð6 �y‰yÐ*¨DÓ1Ð1r‡   c                 ó*   — | j                  dd|¬«      S )a—  Displays the list of orders that were expired because of STP.

        https://binance-docs.github.io/apidocs/spot/en/#query-prevented-matches-user_data

        :param symbol: required
        :type symbol: str
        :param preventedMatchId: optional
        :type preventedMatchId: int
        :param orderId: optional
        :type orderId: int
        :param fromPreventedMatchId: optional
        :type fromPreventedMatchId: int
        :param limit: optional, Default: 500; Max: 1000
        :type limit: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python
            [
                {
                    "symbol": "BTCUSDT",
                    "preventedMatchId": 1,
                    "takerOrderId": 5,
                    "makerOrderId": 3,
                    "tradeGroupId": 1,
                    "selfTradePreventionMode": "EXPIRE_MAKER",
                    "price": "1.100000",
                    "makerPreventedQuantity": "1.300000",
                    "transactTime": 1669101687094
                }
            ]
        ÚmyPreventedMatchesTrº  r»  r¶  s     r…   Úget_prevented_matcheszClient.get_prevented_matchesj  s   € ðF �y‰yÐ-¨t¸&ˆyÓAÐAr‡   c                 ó*   — | j                  dd|¬«      S )a[  Retrieves allocations resulting from SOR order placement.

        https://binance-docs.github.io/apidocs/spot/en/#query-allocations-user_data

        :param symbol: required
        :type symbol: str
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param fromAllocationId: optional
        :type fromAllocationId: int
        :param orderId: optional
        :type orderId: int
        :param limit: optional, Default: 500; Max: 1000
        :type limit: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python
            [
                {
                    "symbol": "BTCUSDT",
                    "allocationId": 0,
                    "allocationType": "SOR",
                    "orderId": 1,
                    "orderListId": -1,
                    "price": "1.00000000",
                    "qty": "5.00000000",
                    "quoteQty": "5.00000000",
                    "commission": "0.00000000",
                    "commissionAsset": "BTC",
                    "time": 1687506878118,
                    "isBuyer": true,
                    "isMaker": false,
                    "isAllocator": false
                }
            ]
        ÚmyAllocationsTrº  r»  r¶  s     r…   Úget_allocationszClient.get_allocations�  s   € ðT �y‰y˜¨$°VˆyÓ<Ð<r‡   c                 ó&   — | j                  dd«      S )u†  Get system status detail.

        https://binance-docs.github.io/apidocs/spot/en/#system-status-sapi-system

        :returns: API response

        .. code-block:: python

            {
                "status": 0,        # 0: normalï¼Œ1ï¼šsystem maintenance
                "msg": "normal"     # normal or System maintenance.
            }

        :raises: BinanceAPIException

        rð   úsystem/status©r€  r�   s    r…   Úget_system_statuszClient.get_system_status»  s   € ð" ×'Ñ'¨¨Ó?Ð?r‡   c                 ó,   — | j                  ddd|¬«      S )ag  Get account status detail.

        https://binance-docs.github.io/apidocs/spot/en/#account-status-sapi-user_data

        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "data": "Normal"
            }

        rð   úaccount/statusTrº  rX  r¶  s     r…   Úget_account_statuszClient.get_account_statusÎ  s   € ð" ×'Ñ'¨Ð/?ÀÈFÐ'ÓSÐSr‡   c                 ó,   — | j                  ddd|¬«      S )aO  Fetch account api trading status detail.

        https://binance-docs.github.io/apidocs/spot/en/#account-api-trading-status-sapi-user_data

        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "data": {          // API trading status detail
                    "isLocked": false,   // API trading function is locked or not
                    "plannedRecoverTime": 0,  // If API trading function is locked, this is the planned recover time
                    "triggerCondition": {
                            "GCR": 150,  // Number of GTC orders
                            "IFER": 150, // Number of FOK/IOC orders
                            "UFR": 300   // Number of orders
                    },
                    "indicators": {  // The indicators updated every 30 seconds
                         "BTCUSDT": [  // The symbol
                            {
                                "i": "UFR",  // Unfilled Ratio (UFR)
                                "c": 20,     // Count of all orders
                                "v": 0.05,   // Current UFR value
                                "t": 0.995   // Trigger UFR value
                            },
                            {
                                "i": "IFER", // IOC/FOK Expiration Ratio (IFER)
                                "c": 20,     // Count of FOK/IOC orders
                                "v": 0.99,   // Current IFER value
                                "t": 0.99    // Trigger IFER value
                            },
                            {
                                "i": "GCR",  // GTC Cancellation Ratio (GCR)
                                "c": 20,     // Count of GTC orders
                                "v": 0.99,   // Current GCR value
                                "t": 0.99    // Trigger GCR value
                            }
                        ],
                        "ETHUSDT": [
                            {
                                "i": "UFR",
                                "c": 20,
                                "v": 0.05,
                                "t": 0.995
                            },
                            {
                                "i": "IFER",
                                "c": 20,
                                "v": 0.99,
                                "t": 0.99
                            },
                            {
                                "i": "GCR",
                                "c": 20,
                                "v": 0.99,
                                "t": 0.99
                            }
                        ]
                    },
                    "updateTime": 1547630471725
                }
            }

        rð   úaccount/apiTradingStatusTrº  rX  r¶  s     r…   Úget_account_api_trading_statusz%Client.get_account_api_trading_statusá  s!   € ðH ×'Ñ'¨Ð/IÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )a+  Fetch api key permissions.

        https://binance-docs.github.io/apidocs/spot/en/#get-api-key-permission-user_data

        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
               "ipRestrict": false,
               "createTime": 1623840271000,
               "enableWithdrawals": false,   // This option allows you to withdraw via API. You must apply the IP Access Restriction filter in order to enable withdrawals
               "enableInternalTransfer": true,  // This option authorizes this key to transfer funds between your master account and your sub account instantly
               "permitsUniversalTransfer": true,  // Authorizes this key to be used for a dedicated universal transfer API to transfer multiple supported currencies. Each business's own transfer API rights are not affected by this authorization
               "enableVanillaOptions": false,  //  Authorizes this key to Vanilla options trading
               "enableReading": true,
               "enableFutures": false,  //  API Key created before your futures account opened does not support futures API service
               "enableMargin": false,   //  This option can be adjusted after the Cross Margin account transfer is completed
               "enableSpotAndMarginTrading": false, // Spot and margin trading
               "tradingAuthorityExpirationTime": 1628985600000  // Expiration time for spot and margin trading permission
            }

        rð   úaccount/apiRestrictionsTrº  rX  r¶  s     r…   Úget_account_api_permissionsz"Client.get_account_api_permissions'	  s    € ð6 ×'Ñ'¨Ð/HÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )uÝ  Get assets that can be converted into BNB

        https://binance-docs.github.io/apidocs/spot/en/#get-assets-that-can-be-converted-into-bnb-user_data

        :returns: API response

        .. code-block:: python

            {
                "details": [
                    {
                        "asset": "ADA",
                        "assetFullName": "ADA",
                        "amountFree": "6.21",   //Convertible amount
                        "toBTC": "0.00016848",  //BTC amount
                        "toBNB": "0.01777302",  //BNB amountï¼ˆNot deducted commission feeï¼‰
                        "toBNBOffExchange": "0.01741756", //BNB amountï¼ˆDeducted commission feeï¼‰
                        "exchange": "0.00035546" //Commission fee
                    }
                ],
                "totalTransferBtc": "0.00016848",
                "totalTransferBNB": "0.01777302",
                "dribbletPercentage": "0.02"     //Commission fee
            }

        rŒ  úasset/dust-btcTrº  rX  r¶  s     r…   Úget_dust_assetszClient.get_dust_assetsD	  s   € ð6 ×'Ñ'¨Ð0@À$ÈVÐ'ÓTÐTr‡   c                 ó,   — | j                  ddd|¬«      S )aÅ  Get log of small amounts exchanged for BNB.

        https://binance-docs.github.io/apidocs/spot/en/#dustlog-sapi-user_data

        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "total": 8,   //Total counts of exchange
                "userAssetDribblets": [
                    {
                        "totalTransferedAmount": "0.00132256",   // Total transfered BNB amount for this exchange.
                        "totalServiceChargeAmount": "0.00002699",    //Total service charge amount for this exchange.
                        "transId": 45178372831,
                        "userAssetDribbletDetails": [           //Details of  this exchange.
                            {
                                "transId": 4359321,
                                "serviceChargeAmount": "0.000009",
                                "amount": "0.0009",
                                "operateTime": 1615985535000,
                                "transferedAmount": "0.000441",
                                "fromAsset": "USDT"
                            },
                            {
                                "transId": 4359321,
                                "serviceChargeAmount": "0.00001799",
                                "amount": "0.0009",
                                "operateTime": "2018-05-03 17:07:04",
                                "transferedAmount": "0.00088156",
                                "fromAsset": "ETH"
                            }
                        ]
                    },
                    {
                        "operateTime":1616203180000,
                        "totalTransferedAmount": "0.00058795",
                        "totalServiceChargeAmount": "0.000012",
                        "transId": 4357015,
                        "userAssetDribbletDetails": [
                            {
                                "transId": 4357015,
                                "serviceChargeAmount": "0.00001"
                                "amount": "0.001",
                                "operateTime": 1616203180000,
                                "transferedAmount": "0.00049",
                                "fromAsset": "USDT"
                            },
                            {
                                "transId": 4357015,
                                "serviceChargeAmount": "0.000002"
                                "amount": "0.0001",
                                "operateTime": 1616203180000,
                                "transferedAmount": "0.00009795",
                                "fromAsset": "ETH"
                            }
                        ]
                    }
                ]
            }

        rð   úasset/dribbletTrº  rX  r¶  s     r…   Úget_dust_logzClient.get_dust_loga	  s    € ðL ×'Ñ'¨Ð/?ÀÈFÐ'ÓSÐSr‡   c                 ó,   — | j                  ddd|¬«      S )a!  Convert dust assets to BNB.

        https://binance-docs.github.io/apidocs/spot/en/#dust-transfer-user_data

        :param asset: The asset being converted. e.g: 'ONE'
        :type asset: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            result = client.transfer_dust(asset='ONE')

        :returns: API response

        .. code-block:: python

            {
                "totalServiceCharge":"0.02102542",
                "totalTransfered":"1.05127099",
                "transferResult":[
                    {
                        "amount":"0.03000000",
                        "fromAsset":"ETH",
                        "operateTime":1563368549307,
                        "serviceChargeAmount":"0.00500000",
                        "tranId":2970932918,
                        "transferedAmount":"0.25000000"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  ú
asset/dustTrº  rX  r¶  s     r…   Útransfer_dustzClient.transfer_dust©	  s   € ðH ×'Ñ'¨°¸dÈÐ'ÓPÐPr‡   c                 ó,   — | j                  ddd|¬«      S )a  Query asset dividend record.

        https://binance-docs.github.io/apidocs/spot/en/#asset-dividend-record-user_data

        :param asset: optional
        :type asset: str
        :param startTime: optional
        :type startTime: long
        :param endTime: optional
        :type endTime: long
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            result = client.get_asset_dividend_history()

        :returns: API response

        .. code-block:: python

            {
                "rows":[
                    {
                        "amount":"10.00000000",
                        "asset":"BHFT",
                        "divTime":1563189166000,
                        "enInfo":"BHFT distribution",
                        "tranId":2968885920
                    },
                    {
                        "amount":"10.00000000",
                        "asset":"BHFT",
                        "divTime":1563189165000,
                        "enInfo":"BHFT distribution",
                        "tranId":2968885920
                    }
                ],
                "total":2
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úasset/assetDividendTrº  rX  r¶  s     r…   Úget_asset_dividend_historyz!Client.get_asset_dividend_historyÏ	  s!   € ðZ ×'Ñ'¨Ð/DÀdÐQWÐ'ÓXÐXr‡   c                 ó,   — | j                  ddd|¬«      S )a·  User Universal Transfer

        https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer

        :param type: required
        :type type: str (ENUM)
        :param asset: required
        :type asset: str
        :param amount: required
        :type amount: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transfer_status = client.make_universal_transfer(params)

        :returns: API response

        .. code-block:: python

            {
                "tranId":13526853623
            }


        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úasset/transferT©r™   rÓ   rX  r¶  s     r…   Úmake_universal_transferzClient.make_universal_transferþ	  s    € ð< ×'Ñ'¨Ð0@ÈÐTZÐ'Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )a  Query User Universal Transfer History

        https://binance-docs.github.io/apidocs/spot/en/#query-user-universal-transfer-history

        :param type: required
        :type type: str (ENUM)
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param current: optional - Default 1
        :type current: int
        :param size: required - Default 10, Max 100
        :type size: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transfer_status = client.query_universal_transfer_history(params)

        :returns: API response

        .. code-block:: python

            {
                "total":2,
                "rows":[
                    {
                        "asset":"USDT",
                        "amount":"1",
                        "type":"MAIN_UMFUTURE"
                        "status": "CONFIRMED",
                        "tranId": 11415955596,
                        "timestamp":1544433328000
                    },
                    {
                        "asset":"USDT",
                        "amount":"2",
                        "type":"MAIN_UMFUTURE",
                        "status": "CONFIRMED",
                        "tranId": 11366865406,
                        "timestamp":1544433328000
                    }
                ]
            }


        :raises: BinanceRequestException, BinanceAPIException

        rð   rp  Trq  rX  r¶  s     r…   Ú query_universal_transfer_historyz'Client.query_universal_transfer_history
  s!   € ðh ×'Ñ'¨Ð/?ÈÐSYÐ'ÓZÐZr‡   c                 ó,   — | j                  ddd|¬«      S )aÆ  Get trade fee.

        https://binance-docs.github.io/apidocs/spot/en/#trade-fee-sapi-user_data

        :param symbol: optional
        :type symbol: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "symbol": "ADABNB",
                    "makerCommission": "0.001",
                    "takerCommission": "0.001"
                },
                {
                    "symbol": "BNBBTC",
                    "makerCommission": "0.001",
                    "takerCommission": "0.001"
                }
            ]

        rð   úasset/tradeFeeTrº  rX  r¶  s     r…   Úget_trade_feezClient.get_trade_feeT
  s   € ð8 ×'Ñ'¨Ð/?ÀÈFÐ'ÓSÐSr‡   c                 ó,   — | j                  ddd|¬«      S )aO  Fetch details on assets.

        https://binance-docs.github.io/apidocs/spot/en/#asset-detail-sapi-user_data

        :param asset: optional
        :type asset: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                    "CTR": {
                        "minWithdrawAmount": "70.00000000", //min withdraw amount
                        "depositStatus": false,//deposit status (false if ALL of networks' are false)
                        "withdrawFee": 35, // withdraw fee
                        "withdrawStatus": true, //withdraw status (false if ALL of networks' are false)
                        "depositTip": "Delisted, Deposit Suspended" //reason
                    },
                    "SKY": {
                        "minWithdrawAmount": "0.02000000",
                        "depositStatus": true,
                        "withdrawFee": 0.01,
                        "withdrawStatus": true
                    }
            }

        rð   úasset/assetDetailTrº  rX  r¶  s     r…   Úget_asset_detailszClient.get_asset_detailsr
  s   € ð> ×'Ñ'¨Ð/BÀDÈvÐ'ÓVÐVr‡   c                 óL   — d|v rd|vr|d   |d<   | j                  ddd|¬«      S )aŸ  Submit a withdraw request.

        https://binance-docs.github.io/apidocs/spot/en/#withdraw-sapi

        Assumptions:

        - You must have Withdraw permissions enabled on your API key
        - You must have withdrawn to the address specified through the website and approved the transaction via email

        :param coin: required
        :type coin: str
        :param withdrawOrderId: optional - client id for withdraw
        :type withdrawOrderId: str
        :param network: optional
        :type network: str
        :param address: optional
        :type address: str
        :type addressTag: optional - Secondary address identifier for coins like XRP,XMR etc.
        :param amount: required
        :type amount: decimal
        :param transactionFeeFlag: required - When making internal transfer, true for returning the fee to the destination account; false for returning the fee back to the departure account. Default false.
        :type transactionFeeFlag: bool
        :param name: optional - Description of the address, default asset value passed will be used
        :type name: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "id":"7213fea8e94b4a5593d507237e5a555b"
            }

        :raises: BinanceRequestException, BinanceAPIException

        ÚcoinÚnamerŒ  úcapital/withdraw/applyTrº  rX  r¶  s     r…   ÚwithdrawzClient.withdraw•
  s=   € ðP �VÑ ¨fÑ 4Ø# F™^ˆF�6‰NØ×'Ñ'¨Ð0HÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )ar  Fetch deposit history.

        https://binance-docs.github.io/apidocs/spot/en/#deposit-history-supporting-network-user_data

        :param coin: optional
        :type coin: str
        :type status: optional - 0(0:pending,1:success) optional
        :type status: int
        :param startTime: optional
        :type startTime: long
        :param endTime: optional
        :type endTime: long
        :param offset: optional - default:0
        :type offset: long
        :param limit: optional
        :type limit: long
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "amount":"0.00999800",
                    "coin":"PAXG",
                    "network":"ETH",
                    "status":1,
                    "address":"0x788cabe9236ce061e5a892e1a59395a81fc8d62c",
                    "addressTag":"",
                    "txId":"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3",
                    "insertTime":1599621997000,
                    "transferType":0,
                    "confirmTimes":"12/12"
                },
                {
                    "amount":"0.50000000",
                    "coin":"IOTA",
                    "network":"IOTA",
                    "status":1,
                    "address":"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW",
                    "addressTag":"",
                    "txId":"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999",
                    "insertTime":1599620082000,
                    "transferType":0,
                    "confirmTimes":"1/1"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úcapital/deposit/hisrecTrº  rX  r¶  s     r…   Úget_deposit_historyzClient.get_deposit_historyÁ
  s!   € ðl ×'Ñ'¨Ð/GÈÐTZÐ'Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )a3  Fetch withdraw history.

        https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data

        :param coin: optional
        :type coin: str
        :type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional
        :type status: int
        :param offset: optional - default:0
        :type offset: int
        :param limit: optional
        :type limit: int
        :param startTime: optional - Default: 90 days from current timestamp
        :type startTime: int
        :param endTime: optional - Default: present timestamp
        :type endTime: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
                    "amount": "8.91000000",
                    "applyTime": "2019-10-12 11:12:02",
                    "coin": "USDT",
                    "id": "b6ae22b3aa844210a7041aee7589627c",
                    "withdrawOrderId": "WITHDRAWtest123", // will not be returned if there's no withdrawOrderId for this withdraw.
                    "network": "ETH",
                    "transferType": 0,   // 1 for internal transfer, 0 for external transfer
                    "status": 6,
                    "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
                },
                {
                    "address": "1FZdVHtiBqMrWdjPyRPULCUceZPJ2WLCsB",
                    "amount": "0.00150000",
                    "applyTime": "2019-09-24 12:43:45",
                    "coin": "BTC",
                    "id": "156ec387f49b41df8724fa744fa82719",
                    "network": "BTC",
                    "status": 6,
                    "txId": "60fd9007ebfddc753455f95fafa808c4302c836e4d1eebc5a132c36c1d8ac354"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úcapital/withdraw/historyTrº  rX  r¶  s     r…   Úget_withdraw_historyzClient.get_withdraw_historyù
  s!   € ðh ×'Ñ'¨Ð/IÈ4ÐV\Ð'Ó]Ð]r‡   c                 ón   —  | j                   di |¤Ž}|D ]  }d|v sŒ|d   |k(  sŒ|c S  t        d|«      ‚)aÛ  Fetch withdraw history.

        https://binance-docs.github.io/apidocs/spot/en/#withdraw-history-supporting-network-user_data

        :param withdraw_id: required
        :type withdraw_id: str
        :param asset: optional
        :type asset: str
        :type status: 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) optional
        :type status: int
        :param startTime: optional
        :type startTime: long
        :param endTime: optional
        :type endTime: long
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "id":"7213fea8e94b4a5593d507237e5a555b",
                "withdrawOrderId": None,
                "amount": 0.99,
                "transactionFee": 0.01,
                "address": "0x6915f16f8791d0a1cc2bf47c13a6b2a92000504b",
                "asset": "ETH",
                "txId": "0xdf33b22bdb2b28b1f75ccd201a4a4m6e7g83jy5fc5d5a9d1340961598cfcb0a1",
                "applyTime": 1508198532000,
                "status": 4
            }

        :raises: BinanceRequestException, BinanceAPIException

        Úidú"There is no entry with withdraw idrÞ   ©r…  Ú	Exception©r„   Úwithdraw_idré   ÚresultÚentrys        r…   Úget_withdraw_history_idzClient.get_withdraw_history_id/  sK   € ðJ +�×*Ñ*Ñ4¨VÑ4ˆãˆEØ�uŠ}  t¡°Ó!;Ø’ð ô Ð<¸fÓEÐEr‡   r|  Únetworkc                 óD   — ||d<   |r||d<   | j                  ddd|¬«      S )a×  Fetch a deposit address for a symbol

        https://binance-docs.github.io/apidocs/spot/en/#deposit-address-supporting-network-user_data

        :param coin: required
        :type coin: str
        :param network: optional
        :type network: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "address": "1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv",
                "coin": "BTC",
                "tag": "",
                "url": "https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv"
            }

        :raises: BinanceRequestException, BinanceAPIException

        r|  r�  rð   úcapital/deposit/addressTrº  rX  ©r„   r|  r�  ré   s       r…   Úget_deposit_addresszClient.get_deposit_address\  s6   € ð4 ˆˆv‰ÙØ 'ˆF�9ÑØ×'Ñ'¨Ð/HÈ$ÐU[Ð'Ó\Ð\r‡   c                 óJ   — | j                  ddi | j                  ¬«      }|d   S )a8  Start a new user data stream and return the listen key
        If a stream already exists it should return the same key.
        If the stream becomes invalid a new key is returned.

        Can be used to keep the user stream alive.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

        :returns: API response

        .. code-block:: python

            {
                "listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
            }

        :raises: BinanceRequestException, BinanceAPIException

        ÚuserDataStreamFr±  Ú	listenKey)r�  rŸ   ©r„   r¦  s     r…   Ústream_get_listen_keyzClient.stream_get_listen_key}  s,   € ð( �j‰jÐ)¨5°rÀ4×C[ÑC[ˆjÓ\ˆØ�;ÑÐr‡   c                 óH   — d|i}| j                  dd|| j                  ¬«      S )aQ  PING a user data stream to prevent a time out.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

        :param listenKey: required
        :type listenKey: str

        :returns: API response

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException

        r—  r–  Fr±  )r‘  rŸ   ©r„   r—  ré   s      r…   Ústream_keepalivezClient.stream_keepalive”  s0   € ð$ ˜ð
ˆð �y‰yÐ)¨5°vÀt×G_ÑG_ˆyÓ`Ð`r‡   c                 óH   — d|i}| j                  dd|| j                  ¬«      S )a@  Close out a user data stream.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-spot

        :param listenKey: required
        :type listenKey: str

        :returns: API response

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException

        r—  r–  Fr±  )r•  rŸ   r›  s      r…   Ústream_closezClient.stream_closeª  s0   € ð$ ˜ð
ˆð �|‰|Ð,¨e¸&È$×JbÑJbˆ|ÓcÐcr‡   c                 ó,   — | j                  ddd|¬«      S )aÆ  Query cross-margin account details

        https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-account-details-user_data

        :returns: API response

        .. code-block:: python

            {
                "borrowEnabled": true,
                "marginLevel": "11.64405625",
                "totalAssetOfBtc": "6.82728457",
                "totalLiabilityOfBtc": "0.58633215",
                "totalNetAssetOfBtc": "6.24095242",
                "tradeEnabled": true,
                "transferEnabled": true,
                "userAssets": [
                    {
                        "asset": "BTC",
                        "borrowed": "0.00000000",
                        "free": "0.00499500",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "0.00499500"
                    },
                    {
                        "asset": "BNB",
                        "borrowed": "201.66666672",
                        "free": "2346.50000000",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "2144.83333328"
                    },
                    {
                        "asset": "ETH",
                        "borrowed": "0.00000000",
                        "free": "0.00000000",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "0.00000000"
                    },
                    {
                        "asset": "USDT",
                        "borrowed": "0.00000000",
                        "free": "0.00000000",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "0.00000000"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/accountTrº  rX  r¶  s     r…   Úget_margin_accountzClient.get_margin_accountÂ  s    € ðp ×'Ñ'¨Ð/?ÀÈFÐ'ÓSÐSr‡   c                 ó,   — | j                  ddd|¬«      S )a-  Query isolated margin account details

        https://binance-docs.github.io/apidocs/spot/en/#query-isolated-margin-account-info-user_data

        :param symbols: optional up to 5 margin pairs as a comma separated string
        :type asset: str

        .. code:: python

            account_info = client.get_isolated_margin_account()
            account_info = client.get_isolated_margin_account(symbols="BTCUSDT,ETHUSDT")

        :returns: API response

        .. code-block:: python

            If "symbols" is not sent:

                {
                "assets":[
                    {
                        "baseAsset":
                        {
                        "asset": "BTC",
                        "borrowEnabled": true,
                        "borrowed": "0.00000000",
                        "free": "0.00000000",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "0.00000000",
                        "netAssetOfBtc": "0.00000000",
                        "repayEnabled": true,
                        "totalAsset": "0.00000000"
                        },
                        "quoteAsset":
                        {
                        "asset": "USDT",
                        "borrowEnabled": true,
                        "borrowed": "0.00000000",
                        "free": "0.00000000",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "0.00000000",
                        "netAssetOfBtc": "0.00000000",
                        "repayEnabled": true,
                        "totalAsset": "0.00000000"
                        },
                        "symbol": "BTCUSDT"
                        "isolatedCreated": true,
                        "marginLevel": "0.00000000",
                        "marginLevelStatus": "EXCESSIVE", // "EXCESSIVE", "NORMAL", "MARGIN_CALL", "PRE_LIQUIDATION", "FORCE_LIQUIDATION"
                        "marginRatio": "0.00000000",
                        "indexPrice": "10000.00000000"
                        "liquidatePrice": "1000.00000000",
                        "liquidateRate": "1.00000000"
                        "tradeEnabled": true
                    }
                    ],
                    "totalAssetOfBtc": "0.00000000",
                    "totalLiabilityOfBtc": "0.00000000",
                    "totalNetAssetOfBtc": "0.00000000"
                }

            If "symbols" is sent:

                {
                "assets":[
                    {
                        "baseAsset":
                        {
                        "asset": "BTC",
                        "borrowEnabled": true,
                        "borrowed": "0.00000000",
                        "free": "0.00000000",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "0.00000000",
                        "netAssetOfBtc": "0.00000000",
                        "repayEnabled": true,
                        "totalAsset": "0.00000000"
                        },
                        "quoteAsset":
                        {
                        "asset": "USDT",
                        "borrowEnabled": true,
                        "borrowed": "0.00000000",
                        "free": "0.00000000",
                        "interest": "0.00000000",
                        "locked": "0.00000000",
                        "netAsset": "0.00000000",
                        "netAssetOfBtc": "0.00000000",
                        "repayEnabled": true,
                        "totalAsset": "0.00000000"
                        },
                        "symbol": "BTCUSDT"
                        "isolatedCreated": true,
                        "marginLevel": "0.00000000",
                        "marginLevelStatus": "EXCESSIVE", // "EXCESSIVE", "NORMAL", "MARGIN_CALL", "PRE_LIQUIDATION", "FORCE_LIQUIDATION"
                        "marginRatio": "0.00000000",
                        "indexPrice": "10000.00000000"
                        "liquidatePrice": "1000.00000000",
                        "liquidateRate": "1.00000000"
                        "tradeEnabled": true
                    }
                    ]
                }

        rð   úmargin/isolated/accountTrº  rX  r¶  s     r…   Úget_isolated_margin_accountz"Client.get_isolated_margin_accountü  s!   € ðZ ×'Ñ'¨Ð/HÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )am  Enable isolated margin account for a specific symbol.

        https://binance-docs.github.io/apidocs/spot/en/#enable-isolated-margin-account-trade

        :param symbol:
        :type asset: str

        :returns: API response

        .. code-block:: python

            {
              "success": true,
              "symbol": "BTCUSDT"
            }


        rŒ  r£  Trº  rX  r¶  s     r…   Úenable_isolated_margin_accountz%Client.enable_isolated_margin_accountk  s    € ð& ×'Ñ'¨Ð0IÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )a¶  Disable isolated margin account for a specific symbol. Each trading pair can only
        be deactivated once every 24 hours.

        https://binance-docs.github.io/apidocs/spot/en/#disable-isolated-margin-account-trade

        :param symbol:
        :type asset: str

        :returns: API response

        .. code-block:: python

            {
              "success": true,
              "symbol": "BTCUSDT"
            }


        r”  r£  Trº  rX  r¶  s     r…   Údisable_isolated_margin_accountz&Client.disable_isolated_margin_account€  s    € ð( ×'Ñ'¨Ð2KÈTÐX^Ð'Ó_Ð_r‡   c                 ó*   — | j                  dd|¬«      S )aº  Query cross-margin asset

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-asset-market_data

        :param asset: name of the asset
        :type asset: str

        .. code-block:: python

            asset_details = client.get_margin_asset(asset='BNB')

        :returns: API response

        .. code-block:: python

            {
                "assetFullName": "Binance Coin",
                "assetName": "BNB",
                "isBorrowable": false,
                "isMortgageable": true,
                "userMinBorrow": "0.00000000",
                "userMinRepay": "0.00000000"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/assetrº  rX  r¶  s     r…   Úget_margin_assetzClient.get_margin_asset–  s   € ð8 ×'Ñ'¨¨~ÀFÐ'ÓKÐKr‡   c                 ó*   — | j                  dd|¬«      S )aÈ  Query cross-margin symbol info

        https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-pair-market_data

        :param symbol: name of the symbol pair
        :type symbol: str

        .. code:: python

            pair_details = client.get_margin_symbol(symbol='BTCUSDT')

        :returns: API response

        .. code-block:: python

            {
                "id":323355778339572400,
                "symbol":"BTCUSDT",
                "base":"BTC",
                "quote":"USDT",
                "isMarginTrade":true,
                "isBuyAllowed":true,
                "isSellAllowed":true
            }


        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/pairrº  rX  r¶  s     r…   Úget_margin_symbolzClient.get_margin_symbol´  s   € ð< ×'Ñ'¨¨}À6Ð'ÓJÐJr‡   c                 ó*   — | j                  dd|¬«      S )aê  Get All Margin Assets (MARKET_DATA)

        https://binance-docs.github.io/apidocs/spot/en/#get-all-margin-assets-market_data

        .. code:: python

            margin_assets = client.get_margin_all_assets()

        :returns: API response

        .. code-block:: python

            [
                {
                    "assetFullName": "USD coin",
                    "assetName": "USDC",
                    "isBorrowable": true,
                    "isMortgageable": true,
                    "userMinBorrow": "0.00000000",
                    "userMinRepay": "0.00000000"
                },
                {
                    "assetFullName": "BNB-coin",
                    "assetName": "BNB",
                    "isBorrowable": true,
                    "isMortgageable": true,
                    "userMinBorrow": "1.00000000",
                    "userMinRepay": "0.00000000"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/allAssetsrº  rX  r¶  s     r…   Úget_margin_all_assetszClient.get_margin_all_assetsÔ  s   € ðF ×'Ñ'¨Ð/AÈÐ'ÓOÐOr‡   c                 ó*   — | j                  dd|¬«      S )a  Get All Cross Margin Pairs (MARKET_DATA)

        https://binance-docs.github.io/apidocs/spot/en/#get-all-cross-margin-pairs-market_data

        .. code:: python

            margin_pairs = client.get_margin_all_pairs()

        :returns: API response

        .. code-block:: python

            [
                {
                    "base": "BNB",
                    "id": 351637150141315861,
                    "isBuyAllowed": true,
                    "isMarginTrade": true,
                    "isSellAllowed": true,
                    "quote": "BTC",
                    "symbol": "BNBBTC"
                },
                {
                    "base": "TRX",
                    "id": 351637923235429141,
                    "isBuyAllowed": true,
                    "isMarginTrade": true,
                    "isSellAllowed": true,
                    "quote": "BTC",
                    "symbol": "TRXBTC"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/allPairsrº  rX  r¶  s     r…   Úget_margin_all_pairszClient.get_margin_all_pairsù  s   € ðJ ×'Ñ'¨Ð/@ÀvÐ'ÓNÐNr‡   c                 ó,   — | j                  ddd|¬«      S )ar  Create isolated margin account for symbol

        https://binance-docs.github.io/apidocs/spot/en/#create-isolated-margin-account-margin

        :param base: Base asset of symbol
        :type base: str
        :param quote: Quote asset of symbol
        :type quote: str

        .. code:: python

            pair_details = client.create_isolated_margin_account(base='USDT', quote='BTC')

        :returns: API response

        .. code-block:: python

            {
                "success": true,
                "symbol": "BTCUSDT"
            }


        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úmargin/isolated/createTrq  rX  r¶  s     r…   Úcreate_isolated_margin_accountz%Client.create_isolated_margin_account   s!   € ð6 ×'Ñ'¨Ð0HÐQUÐ\bÐ'ÓcÐcr‡   c                 ó,   — | j                  ddd|¬«      S )a–  Query isolated margin symbol info

        https://binance-docs.github.io/apidocs/spot/en/#query-isolated-margin-symbol-user_data

        :param symbol: name of the symbol pair
        :type symbol: str

        .. code:: python

            pair_details = client.get_isolated_margin_symbol(symbol='BTCUSDT')

        :returns: API response

        .. code-block:: python

            {
            "symbol":"BTCUSDT",
            "base":"BTC",
            "quote":"USDT",
            "isMarginTrade":true,
            "isBuyAllowed":true,
            "isSellAllowed":true
            }


        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/isolated/pairTrq  rX  r¶  s     r…   Úget_isolated_margin_symbolz!Client.get_isolated_margin_symbol=  s    € ð: ×'Ñ'¨Ð/EÈdÐY_Ð'Ó`Ð`r‡   c                 ó,   — | j                  ddd|¬«      S )a¼  Query isolated margin symbol info for all pairs

        https://binance-docs.github.io/apidocs/spot/en/#get-all-isolated-margin-symbol-user_data

        .. code:: python

            pair_details = client.get_all_isolated_margin_symbols()

        :returns: API response

        .. code-block:: python

            [
                {
                    "base": "BNB",
                    "isBuyAllowed": true,
                    "isMarginTrade": true,
                    "isSellAllowed": true,
                    "quote": "BTC",
                    "symbol": "BNBBTC"
                },
                {
                    "base": "TRX",
                    "isBuyAllowed": true,
                    "isMarginTrade": true,
                    "isSellAllowed": true,
                    "quote": "BTC",
                    "symbol": "TRXBTC"
                }
            ]


        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/isolated/allPairsTrq  rX  r¶  s     r…   Úget_all_isolated_margin_symbolsz&Client.get_all_isolated_margin_symbols\  s"   € ðH ×'Ñ'¨Ð/IÐRVÐ]cÐ'ÓdÐdr‡   c                 ó,   — | j                  ddd|¬«      S )aî  Toggle BNB Burn On Spot Trade And Margin Interest

        https://binance-docs.github.io/apidocs/spot/en/#toggle-bnb-burn-on-spot-trade-and-margin-interest-user_data

        :param spotBNBBurn: Determines whether to use BNB to pay for trading fees on SPOT
        :type spotBNBBurn: bool
        :param interestBNBBurn: Determines whether to use BNB to pay for margin loan's interest
        :type interestBNBBurn: bool

        .. code:: python

            response = client.toggle_bnb_burn_spot_margin()

        :returns: API response

        .. code-block:: python

            {
               "spotBNBBurn":true,
               "interestBNBBurn": false
            }


        :raises: BinanceRequestException, BinanceAPIException

        rŒ  ÚbnbBurnTrq  rX  r¶  s     r…   Útoggle_bnb_burn_spot_marginz"Client.toggle_bnb_burn_spot_margin‚  s   € ð6 ×'Ñ'¨°	À$ÈVÐ'ÓTÐTr‡   c                 ó,   — | j                  ddd|¬«      S )a®  Get BNB Burn Status

        https://binance-docs.github.io/apidocs/spot/en/#get-bnb-burn-status-user_data

        .. code:: python

            status = client.get_bnb_burn_spot_margin()

        :returns: API response

        .. code-block:: python

            {
               "spotBNBBurn":true,
               "interestBNBBurn": false
            }


        :raises: BinanceRequestException, BinanceAPIException

        rð   r¿  Trq  rX  r¶  s     r…   Úget_bnb_burn_spot_marginzClient.get_bnb_burn_spot_marginŸ  s   € ð, ×'Ñ'¨¨yÀÈFÐ'ÓSÐSr‡   c                 ó*   — | j                  dd|¬«      S )aF  Query margin priceIndex

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-priceindex-market_data

        :param symbol: name of the symbol pair
        :type symbol: str

        .. code:: python

            price_index_details = client.get_margin_price_index(symbol='BTCUSDT')

        :returns: API response

        .. code-block:: python

            {
                "calcTime": 1562046418000,
                "price": "0.00333930",
                "symbol": "BNBBTC"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/priceIndexrº  rX  r¶  s     r…   Úget_margin_price_indexzClient.get_margin_price_index·  s   € ð2 ×'Ñ'¨Ð/BÈÐ'ÓPÐPr‡   c                 ó6   — d|d<   | j                  ddd|¬«      S )aÌ  Execute transfer between cross-margin account and spot account.

        https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin

        :param asset: name of the asset
        :type asset: str
        :param amount: amount to transfer
        :type amount: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transfer = client.transfer_margin_to_spot(asset='BTC', amount='1.1')

        :returns: API response

        .. code-block:: python

            {
                "tranId": 100000001
            }

        :raises: BinanceRequestException, BinanceAPIException

        r¤   r  rŒ  úmargin/transferTrq  rX  r¶  s     r…   Útransfer_margin_to_spotzClient.transfer_margin_to_spotÒ  ó)   € ð6 ˆˆv‰Ø×'Ñ'¨Ð0AÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó6   — d|d<   | j                  ddd|¬«      S )aÌ  Execute transfer between spot account and cross-margin account.

        https://binance-docs.github.io/apidocs/spot/en/#cross-margin-account-transfer-margin

        :param asset: name of the asset
        :type asset: str
        :param amount: amount to transfer
        :type amount: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transfer = client.transfer_spot_to_margin(asset='BTC', amount='1.1')

        :returns: API response

        .. code-block:: python

            {
                "tranId": 100000001
            }

        :raises: BinanceRequestException, BinanceAPIException

        r   r  rŒ  rÇ  Trq  rX  r¶  s     r…   Útransfer_spot_to_marginzClient.transfer_spot_to_marginð  rÉ  r‡   c                 ó@   — d|d<   d|d<   | j                  ddd|¬«      S )	ai  Execute transfer between isolated margin account and spot account.

        https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin

        :param asset: name of the asset
        :type asset: str
        :param symbol: pair symbol
        :type symbol: str
        :param amount: amount to transfer
        :type amount: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transfer = client.transfer_isolated_margin_to_spot(asset='BTC',
                                                                symbol='ETHBTC', amount='1.1')

        :returns: API response

        .. code-block:: python

            {
                "tranId": 100000001
            }

        :raises: BinanceRequestException, BinanceAPIException

        ÚISOLATED_MARGINÚ	transFromr%   ÚtransTorŒ  úmargin/isolated/transferTrq  rX  r¶  s     r…   Ú transfer_isolated_margin_to_spotz'Client.transfer_isolated_margin_to_spot  s5   € ð< 0ˆˆ{ÑØ"ˆˆyÑØ×'Ñ'¨Ð0JÐSWÐ^dÐ'ÓeÐer‡   c                 ó@   — d|d<   d|d<   | j                  ddd|¬«      S )	ai  Execute transfer between spot account and isolated margin account.

        https://binance-docs.github.io/apidocs/spot/en/#isolated-margin-account-transfer-margin

        :param asset: name of the asset
        :type asset: str
        :param symbol: pair symbol
        :type symbol: str
        :param amount: amount to transfer
        :type amount: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transfer = client.transfer_spot_to_isolated_margin(asset='BTC',
                                                                symbol='ETHBTC', amount='1.1')

        :returns: API response

        .. code-block:: python

            {
                "tranId": 100000001
            }

        :raises: BinanceRequestException, BinanceAPIException

        r%   rÎ  rÍ  rÏ  rŒ  rÐ  Trq  rX  r¶  s     r…   Ú transfer_spot_to_isolated_marginz'Client.transfer_spot_to_isolated_margin0  s5   € ð< %ˆˆ{ÑØ-ˆˆyÑØ×'Ñ'¨Ð0JÐSWÐ^dÐ'ÓeÐer‡   c                 ó,   — | j                  ddd|¬«      S )a*  Get transfers to isolated margin account.

        https://binance-docs.github.io/apidocs/spot/en/#get-isolated-margin-transfer-history-user_data

        :param asset: name of the asset
        :type asset: str
        :param symbol: pair required
        :type symbol: str
        :param transFrom: optional SPOT, ISOLATED_MARGIN
        :param transFrom: str SPOT, ISOLATED_MARGIN
        :param transTo: optional
        :param transTo: str
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param current: Currently querying page. Start from 1. Default:1
        :type current: str
        :param size: Default:10 Max:100
        :type size: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transfer = client.transfer_spot_to_isolated_margin(symbol='ETHBTC')

        :returns: API response

        .. code-block:: python

            {
              "rows": [
                {
                  "amount": "0.10000000",
                  "asset": "BNB",
                  "status": "CONFIRMED",
                  "timestamp": 1566898617000,
                  "txId": 5240372201,
                  "transFrom": "SPOT",
                  "transTo": "ISOLATED_MARGIN"
                },
                {
                  "amount": "5.00000000",
                  "asset": "USDT",
                  "status": "CONFIRMED",
                  "timestamp": 1566888436123,
                  "txId": 5239810406,
                  "transFrom": "ISOLATED_MARGIN",
                  "transTo": "SPOT"
                }
              ],
              "total": 2
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   rÐ  Trq  rX  r¶  s     r…   Ú#get_isolated_margin_tranfer_historyz*Client.get_isolated_margin_tranfer_historyR  s"   € ðv ×'Ñ'¨Ð/IÐRVÐ]cÐ'ÓdÐdr‡   c                 ó,   — | j                  ddd|¬«      S )a=  Apply for a loan in cross-margin or isolated-margin account.

        https://binance-docs.github.io/apidocs/spot/en/#margin-account-borrow-margin

        :param asset: name of the asset
        :type asset: str
        :param amount: amount to transfer
        :type amount: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param symbol: Isolated margin symbol (default blank for cross-margin)
        :type symbol: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transaction = client.margin_create_loan(asset='BTC', amount='1.1')

            transaction = client.margin_create_loan(asset='BTC', amount='1.1',
                                                    isIsolated='TRUE', symbol='ETHBTC')

        :returns: API response

        .. code-block:: python

            {
                "tranId": 100000001
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úmargin/loanTrq  rX  r¶  s     r…   Úcreate_margin_loanzClient.create_margin_loan�  s    € ðD ×'Ñ'¨°ÀdÐQWÐ'ÓXÐXr‡   c                 ó,   — | j                  ddd|¬«      S )a‡  Repay loan in cross-margin or isolated-margin account.

        If amount is more than the amount borrowed, the full loan will be repaid.

        https://binance-docs.github.io/apidocs/spot/en/#margin-account-repay-margin

        :param asset: name of the asset
        :type asset: str
        :param amount: amount to transfer
        :type amount: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param symbol: Isolated margin symbol (default blank for cross-margin)
        :type symbol: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        .. code-block:: python

            transaction = client.margin_repay_loan(asset='BTC', amount='1.1')

            transaction = client.margin_repay_loan(asset='BTC', amount='1.1',
                                                    isIsolated='TRUE', symbol='ETHBTC')

        :returns: API response

        .. code-block:: python

            {
                "tranId": 100000001
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úmargin/repayTrq  rX  r¶  s     r…   Úrepay_margin_loanzClient.repay_margin_loan³  s    € ðH ×'Ñ'¨°ÀtÐRXÐ'ÓYÐYr‡   c                 ó,   — | j                  ddd|¬«      S )aí  Post a new order for margin account.

        https://binance-docs.github.io/apidocs/spot/en/#margin-account-new-order-trade

        :param symbol: required
        :type symbol: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param side: required
        :type side: str
        :param type: required
        :type type: str
        :param quantity: required
        :type quantity: decimal
        :param price: required
        :type price: str
        :param stopPrice: Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.
        :type stopPrice: str
        :param timeInForce: required if limit order GTC,IOC,FOK
        :type timeInForce: str
        :param newClientOrderId: A unique id for the order. Automatically generated if not sent.
        :type newClientOrderId: str
        :param icebergQty: Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
        :type icebergQty: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; MARKET and LIMIT order types default to
            FULL, all other orders default to ACK.
        :type newOrderRespType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        Response ACK:

        .. code-block:: python

            {
                "symbol": "BTCUSDT",
                "orderId": 28,
                "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
                "transactTime": 1507725176595
            }

        Response RESULT:

        .. code-block:: python

            {
                "symbol": "BTCUSDT",
                "orderId": 28,
                "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
                "transactTime": 1507725176595,
                "price": "1.00000000",
                "origQty": "10.00000000",
                "executedQty": "10.00000000",
                "cummulativeQuoteQty": "10.00000000",
                "status": "FILLED",
                "timeInForce": "GTC",
                "type": "MARKET",
                "side": "SELL"
            }

        Response FULL:

        .. code-block:: python

            {
                "symbol": "BTCUSDT",
                "orderId": 28,
                "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
                "transactTime": 1507725176595,
                "price": "1.00000000",
                "origQty": "10.00000000",
                "executedQty": "10.00000000",
                "cummulativeQuoteQty": "10.00000000",
                "status": "FILLED",
                "timeInForce": "GTC",
                "type": "MARKET",
                "side": "SELL",
                "fills": [
                    {
                        "price": "4000.00000000",
                        "qty": "1.00000000",
                        "commission": "4.00000000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3999.00000000",
                        "qty": "5.00000000",
                        "commission": "19.99500000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3998.00000000",
                        "qty": "2.00000000",
                        "commission": "7.99600000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3997.00000000",
                        "qty": "1.00000000",
                        "commission": "3.99700000",
                        "commissionAsset": "USDT"
                    },
                    {
                        "price": "3995.00000000",
                        "qty": "1.00000000",
                        "commission": "3.99500000",
                        "commissionAsset": "USDT"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,
            BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,
            BinanceOrderInactiveSymbolException

        rŒ  úmargin/orderTrq  rX  r¶  s     r…   Úcreate_margin_orderzClient.create_margin_orderÙ  s    € ðn ×'Ñ'¨°ÀtÐRXÐ'ÓYÐYr‡   c                 ó,   — | j                  ddd|¬«      S )az  Cancel an active order for margin account.

        Either orderId or origClientOrderId must be sent.

        https://binance-docs.github.io/apidocs/spot/en/#margin-account-cancel-order-trade

        :param symbol: required
        :type symbol: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param orderId:
        :type orderId: str
        :param origClientOrderId:
        :type origClientOrderId: str
        :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.
        :type newClientOrderId: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "symbol": "LTCBTC",
                "orderId": 28,
                "origClientOrderId": "myOrder1",
                "clientOrderId": "cancelMyOrder1",
                "transactTime": 1507725176595,
                "price": "1.00000000",
                "origQty": "10.00000000",
                "executedQty": "8.00000000",
                "cummulativeQuoteQty": "8.00000000",
                "status": "CANCELED",
                "timeInForce": "GTC",
                "type": "LIMIT",
                "side": "SELL"
            }

        :raises: BinanceRequestException, BinanceAPIException

        r”  rÝ  Trq  rX  r¶  s     r…   Úcancel_margin_orderzClient.cancel_margin_orderR  s    € ðR ×'Ñ'¨°.ÈÐTZÐ'Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )uŸ  Adjust cross margin max leverage

        https://binance-docs.github.io/apidocs/spot/en/#adjust-cross-margin-max-leverage-user_data

        :param maxLeverage: required Can only adjust 3 or 5ï¼ŒExample: maxLeverage=3
        :type maxLeverage: int

        :returns: API response

            {
                "success": true
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úmargin/max-leverageTrq  rX  r¶  s     r…   Úset_margin_max_leveragezClient.set_margin_max_leverage}  s    € ð" ×'Ñ'¨Ð0EÈdÐY_Ð'Ó`Ð`r‡   c                 ó,   — | j                  ddd|¬«      S )a   Query margin transfer history

        https://binance-docs.github.io/apidocs/spot/en/#get-cross-margin-transfer-history-user_data

        :param asset: optional
        :type asset: str
        :param type: optional Transfer Type: ROLL_IN, ROLL_OUT
        :type type: str
        :param archived: optional Default: false. Set to true for archived data from 6 months ago
        :type archived: str
        :param startTime: earliest timestamp to filter transactions
        :type startTime: str
        :param endTime: Used to uniquely identify this cancel. Automatically generated by default.
        :type endTime: str
        :param current: Currently querying page. Start from 1. Default:1
        :type current: str
        :param size: Default:10 Max:100
        :type size: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "rows": [
                    {
                        "amount": "0.10000000",
                        "asset": "BNB",
                        "status": "CONFIRMED",
                        "timestamp": 1566898617,
                        "txId": 5240372201,
                        "type": "ROLL_IN"
                    },
                    {
                        "amount": "5.00000000",
                        "asset": "USDT",
                        "status": "CONFIRMED",
                        "timestamp": 1566888436,
                        "txId": 5239810406,
                        "type": "ROLL_OUT"
                    },
                    {
                        "amount": "1.00000000",
                        "asset": "EOS",
                        "status": "CONFIRMED",
                        "timestamp": 1566888403,
                        "txId": 5239808703,
                        "type": "ROLL_IN"
                    }
                ],
                "total": 3
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   rÇ  Trq  rX  r¶  s     r…   Úget_margin_transfer_historyz"Client.get_margin_transfer_history�  s!   € ðr ×'Ñ'¨Ð/@ÈÐTZÐ'Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )aã  Query loan record

        txId or startTime must be sent. txId takes precedence.

        https://binance-docs.github.io/apidocs/spot/en/#query-loan-record-user_data

        :param asset: required
        :type asset: str
        :param isolatedSymbol: isolated symbol (if querying isolated margin)
        :type isolatedSymbol: str
        :param txId: the tranId in of the created loan
        :type txId: str
        :param startTime: earliest timestamp to filter transactions
        :type startTime: str
        :param endTime: Used to uniquely identify this cancel. Automatically generated by default.
        :type endTime: str
        :param current: Currently querying page. Start from 1. Default:1
        :type current: str
        :param size: Default:10 Max:100
        :type size: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "rows": [
                    {
                        "asset": "BNB",
                        "principal": "0.84624403",
                        "timestamp": 1555056425000,
                        //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);
                        "status": "CONFIRMED"
                    }
                ],
                "total": 1
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   r×  Trq  rX  r¶  s     r…   Úget_margin_loan_detailszClient.get_margin_loan_detailsË  s    € ðT ×'Ñ'¨¨}ÀTÐPVÐ'ÓWÐWr‡   c                 ó,   — | j                  ddd|¬«      S )aÎ  Query repay record

        txId or startTime must be sent. txId takes precedence.

        https://binance-docs.github.io/apidocs/spot/en/#query-repay-record-user_data

        :param asset: required
        :type asset: str
        :param isolatedSymbol: isolated symbol (if querying isolated margin)
        :type isolatedSymbol: str
        :param txId: the tranId in of the created loan
        :type txId: str
        :param startTime:
        :type startTime: str
        :param endTime: Used to uniquely identify this cancel. Automatically generated by default.
        :type endTime: str
        :param current: Currently querying page. Start from 1. Default:1
        :type current: str
        :param size: Default:10 Max:100
        :type size: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "rows": [
                    {
                        //Total amount repaid
                        "amount": "14.00000000",
                        "asset": "BNB",
                        //Interest repaid
                        "interest": "0.01866667",
                        //Principal repaid
                        "principal": "13.98133333",
                        //one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);
                        "status": "CONFIRMED",
                        "timestamp": 1563438204000,
                        "txId": 2970933056
                    }
                ],
                "total": 1
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   rÚ  Trq  rX  r¶  s     r…   Úget_margin_repay_detailszClient.get_margin_repay_details÷  s    € ð` ×'Ñ'¨¨~ÀdÐQWÐ'ÓXÐXr‡   c                 ó,   — | j                  ddd|¬«      S )aý  Query Cross Margin Fee Data (USER_DATA)

        https://binance-docs.github.io/apidocs/spot/en/#query-cross-margin-fee-data-user_data
        :param vipLevel: User's current specific margin data will be returned if vipLevel is omitted
        :type vipLevel: int
        :param coin
        :type coin: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int
        :returns: API response (example):
            [
                {
                    "vipLevel": 0,
                    "coin": "BTC",
                    "transferIn": true,
                    "borrowable": true,
                    "dailyInterest": "0.00026125",
                    "yearlyInterest": "0.0953",
                    "borrowLimit": "180",
                    "marginablePairs": [
                        "BNBBTC",
                        "TRXBTC",
                        "ETHBTC",
                        "BTCUSDT"
                    ]
                }
            ]
        rð   úmargin/crossMarginDataTrq  rX  r¶  s     r…   Úget_cross_margin_datazClient.get_cross_margin_data)  s!   € ð: ×'Ñ'¨Ð/GÐPTÐ[aÐ'ÓbÐbr‡   c                 ó,   — | j                  ddd|¬«      S )ab  Get Interest History (USER_DATA)

        https://binance-docs.github.io/apidocs/spot/en/#get-interest-history-user_data

        :param asset:
        :type asset: str
        :param isolatedSymbol: isolated symbol (if querying isolated margin)
        :type isolatedSymbol: str
        :param startTime:
        :type startTime: str
        :param endTime:
        :type endTime: str
        :param current: Currently querying page. Start from 1. Default:1
        :type current: str
        :param size: Default:10 Max:100
        :type size: int
        :param archived: Default: false. Set to true for archived data from 6 months ago
        :type archived: bool
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "rows":[
                    {
                        "isolatedSymbol": "BNBUSDT", // isolated symbol, will not be returned for crossed margin
                        "asset": "BNB",
                        "interest": "0.02414667",
                        "interestAccuredTime": 1566813600000,
                        "interestRate": "0.01600000",
                        "principal": "36.22000000",
                        "type": "ON_BORROW"
                    }
                ],
                "total": 1
            }


        rð   úmargin/interestHistoryTrq  rX  r¶  s     r…   Úget_margin_interest_historyz"Client.get_margin_interest_historyH  s"   € ðR ×'Ñ'¨Ð/GÐPTÐ[aÐ'ÓbÐbr‡   c                 ó,   — | j                  ddd|¬«      S )a  Get Force Liquidation Record (USER_DATA)

        https://binance-docs.github.io/apidocs/spot/en/#get-force-liquidation-record-user_data

        :param startTime:
        :type startTime: str
        :param endTime:
        :type endTime: str
        :param isolatedSymbol: isolated symbol (if querying isolated margin)
        :type isolatedSymbol: str
        :param current: Currently querying page. Start from 1. Default:1
        :type current: str
        :param size: Default:10 Max:100
        :type size: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "rows": [
                    {
                        "avgPrice": "0.00388359",
                        "executedQty": "31.39000000",
                        "orderId": 180015097,
                        "price": "0.00388110",
                        "qty": "31.39000000",
                        "side": "SELL",
                        "symbol": "BNBBTC",
                        "timeInForce": "GTC",
                        "isIsolated": true,
                        "updatedTime": 1558941374745
                    }
                ],
                "total": 1
            }

        rð   úmargin/forceLiquidationRecTrq  rX  r¶  s     r…   Ú get_margin_force_liquidation_recz'Client.get_margin_force_liquidation_recs  s"   € ðN ×'Ñ'¨Ð/KÐTXÐ_eÐ'ÓfÐfr‡   c                 ó,   — | j                  ddd|¬«      S )aÏ  Query margin accounts order

        Either orderId or origClientOrderId must be sent.

        For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-order-user_data

        :param symbol: required
        :type symbol: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param orderId:
        :type orderId: str
        :param origClientOrderId:
        :type origClientOrderId: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "clientOrderId": "ZwfQzuDIGpceVhKW5DvCmO",
                "cummulativeQuoteQty": "0.00000000",
                "executedQty": "0.00000000",
                "icebergQty": "0.00000000",
                "isWorking": true,
                "orderId": 213205622,
                "origQty": "0.30000000",
                "price": "0.00493630",
                "side": "SELL",
                "status": "NEW",
                "stopPrice": "0.00000000",
                "symbol": "BNBBTC",
                "time": 1562133008725,
                "timeInForce": "GTC",
                "type": "LIMIT",
                "updateTime": 1562133008725
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   rÝ  Trq  rX  r¶  s     r…   Úget_margin_orderzClient.get_margin_orderœ  s    € ðX ×'Ñ'¨¨~ÀdÐQWÐ'ÓXÐXr‡   c                 ó,   — | j                  ddd|¬«      S )aš  Query margin accounts open orders

        If the symbol is not sent, orders for all symbols will be returned in an array (cross-margin only).

        If querying isolated margin orders, both the isIsolated='TRUE' and symbol=symbol_name must be set.

        When all symbols are returned, the number of requests counted against the rate limiter is equal to the number
        of symbols currently trading on the exchange.

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-open-order-user_data

        :param symbol: optional
        :type symbol: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            [
                {
                    "clientOrderId": "qhcZw71gAkCCTv0t0k8LUK",
                    "cummulativeQuoteQty": "0.00000000",
                    "executedQty": "0.00000000",
                    "icebergQty": "0.00000000",
                    "isWorking": true,
                    "orderId": 211842552,
                    "origQty": "0.30000000",
                    "price": "0.00475010",
                    "side": "SELL",
                    "status": "NEW",
                    "stopPrice": "0.00000000",
                    "symbol": "BNBBTC",
                    "time": 1562040170089,
                    "timeInForce": "GTC",
                    "type": "LIMIT",
                    "updateTime": 1562040170089
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/openOrdersTrq  rX  r¶  s     r…   Úget_open_margin_orderszClient.get_open_margin_ordersÊ  s!   € ðZ ×'Ñ'¨Ð/BÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )aW  Query all margin accounts orders

        If orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.

        For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-all-order-user_data

        :param symbol: required
        :type symbol: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param orderId: optional
        :type orderId: str
        :param startTime: optional
        :type startTime: str
        :param endTime: optional
        :type endTime: str
        :param limit: Default 500; max 1000
        :type limit: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            [
                {
                    "id": 43123876,
                    "price": "0.00395740",
                    "qty": "4.06000000",
                    "quoteQty": "0.01606704",
                    "symbol": "BNBBTC",
                    "time": 1556089977693
                },
                {
                    "id": 43123877,
                    "price": "0.00395740",
                    "qty": "0.77000000",
                    "quoteQty": "0.00304719",
                    "symbol": "BNBBTC",
                    "time": 1556089977693
                },
                {
                    "id": 43253549,
                    "price": "0.00428930",
                    "qty": "23.30000000",
                    "quoteQty": "0.09994069",
                    "symbol": "BNBBTC",
                    "time": 1556163963504
                }
            ]


        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/allOrdersTrq  rX  r¶  s     r…   Úget_all_margin_orderszClient.get_all_margin_ordersù  s!   € ðr ×'Ñ'¨Ð/AÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )a6  Query margin accounts trades

        If fromId is set, it will get orders >= that fromId. Otherwise most recent orders are returned.

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-trade-list-user_data

        :param symbol: required
        :type symbol: str
        :param isIsolated: set to 'TRUE' for isolated margin (default 'FALSE')
        :type isIsolated: str
        :param fromId: optional
        :type fromId: str
        :param startTime: optional
        :type startTime: str
        :param endTime: optional
        :type endTime: str
        :param limit: Default 500; max 1000
        :type limit: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            [
                {
                    "commission": "0.00006000",
                    "commissionAsset": "BTC",
                    "id": 34,
                    "isBestMatch": true,
                    "isBuyer": false,
                    "isMaker": false,
                    "orderId": 39324,
                    "price": "0.02000000",
                    "qty": "3.00000000",
                    "symbol": "BNBBTC",
                    "time": 1561973357171
                }, {
                    "commission": "0.00002950",
                    "commissionAsset": "BTC",
                    "id": 32,
                    "isBestMatch": true,
                    "isBuyer": false,
                    "isMaker": true,
                    "orderId": 39319,
                    "price": "0.00590000",
                    "qty": "5.00000000",
                    "symbol": "BNBBTC",
                    "time": 1561964645345
                }
            ]


        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/myTradesTrq  rX  r¶  s     r…   Úget_margin_tradeszClient.get_margin_trades4  s!   € ðp ×'Ñ'¨Ð/@ÈÐTZÐ'Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )a:  Query max borrow amount for an asset

        https://binance-docs.github.io/apidocs/spot/en/#query-max-borrow-user_data

        :param asset: required
        :type asset: str
        :param isolatedSymbol: isolated symbol (if querying isolated margin)
        :type isolatedSymbol: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "amount": "1.69248805"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/maxBorrowableTrq  rX  r¶  s     r…   Úget_max_margin_loanzClient.get_max_margin_loann  s    € ð* ×'Ñ'¨Ð/EÈdÐY_Ð'Ó`Ð`r‡   c                 ó,   — | j                  ddd|¬«      S )a@  Query max transfer-out amount

        https://binance-docs.github.io/apidocs/spot/en/#query-max-transfer-out-amount-user_data

        :param asset: required
        :type asset: str
        :param isolatedSymbol: isolated symbol (if querying isolated margin)
        :type isolatedSymbol: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "amount": "3.59498107"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úmargin/maxTransferableTrq  rX  r¶  s     r…   Úget_max_margin_transferzClient.get_max_margin_transfer…  s!   € ð* ×'Ñ'¨Ð/GÐPTÐ[aÐ'ÓbÐbr‡   c                 ó,   — | j                  ddd|¬«      S )u   Post a new OCO trade for margin account.

        https://binance-docs.github.io/apidocs/spot/en/#margin-account-new-oco-trade


        :param symbol: required
        :type symbol: str
        :param isIsolated: for isolated margin or not, "TRUE", "FALSE"ï¼Œdefault "FALSE"
        :type symbol: str
        :param listClientOrderId: A unique id for the list order. Automatically generated if not sent.
        :type listClientOrderId: str
        :param side: required
        :type side: str
        :param quantity: required
        :type quantity: decimal
        :param limitClientOrderId: A unique id for the limit order. Automatically generated if not sent.
        :type limitClientOrderId: str
        :param price: required
        :type price: str
        :param limitIcebergQty: Used to make the LIMIT_MAKER leg an iceberg order.
        :type limitIcebergQty: decimal
        :param stopClientOrderId: A unique Id for the stop loss/stop loss limit leg. Automatically generated if not sent.
        :type stopClientOrderId: str
        :param stopPrice: required
        :type stopPrice: str
        :param stopLimitPrice: If provided, stopLimitTimeInForce is required.
        :type stopLimitPrice: str
        :param stopIcebergQty: Used with STOP_LOSS_LIMIT leg to make an iceberg order.
        :type stopIcebergQty: decimal
        :param stopLimitTimeInForce: Valid values are GTC/FOK/IOC.
        :type stopLimitTimeInForce: str
        :param newOrderRespType: Set the response JSON. ACK, RESULT, or FULL; default: RESULT.
        :type newOrderRespType: str
        :param sideEffectType: NO_SIDE_EFFECT, MARGIN_BUY, AUTO_REPAY; default NO_SIDE_EFFECT.
        :type sideEffectType: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "orderListId": 0,
                "contingencyType": "OCO",
                "listStatusType": "EXEC_STARTED",
                "listOrderStatus": "EXECUTING",
                "listClientOrderId": "JYVpp3F0f5CAG15DhtrqLp",
                "transactionTime": 1563417480525,
                "symbol": "LTCBTC",
                "marginBuyBorrowAmount": "5",       // will not return if no margin trade happens
                "marginBuyBorrowAsset": "BTC",    // will not return if no margin trade happens
                "isIsolated": false,       // if isolated margin
                "orders": [
                    {
                        "symbol": "LTCBTC",
                        "orderId": 2,
                        "clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos"
                    },
                    {
                        "symbol": "LTCBTC",
                        "orderId": 3,
                        "clientOrderId": "xTXKaGYd4bluPVp78IVRvl"
                    }
                ],
                "orderReports": [
                    {
                        "symbol": "LTCBTC",
                        "orderId": 2,
                        "orderListId": 0,
                        "clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos",
                        "transactTime": 1563417480525,
                        "price": "0.000000",
                        "origQty": "0.624363",
                        "executedQty": "0.000000",
                        "cummulativeQuoteQty": "0.000000",
                        "status": "NEW",
                        "timeInForce": "GTC",
                        "type": "STOP_LOSS",
                        "side": "BUY",
                        "stopPrice": "0.960664"
                    },
                    {
                        "symbol": "LTCBTC",
                        "orderId": 3,
                        "orderListId": 0,
                        "clientOrderId": "xTXKaGYd4bluPVp78IVRvl",
                        "transactTime": 1563417480525,
                        "price": "0.036435",
                        "origQty": "0.624363",
                        "executedQty": "0.000000",
                        "cummulativeQuoteQty": "0.000000",
                        "status": "NEW",
                        "timeInForce": "GTC",
                        "type": "LIMIT_MAKER",
                        "side": "BUY"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException, BinanceOrderException, BinanceOrderMinAmountException,
            BinanceOrderMinPriceException, BinanceOrderMinTotalException, BinanceOrderUnknownSymbolException,
            BinanceOrderInactiveSymbolException

        rŒ  úmargin/order/ocoTrq  rX  r¶  s     r…   Úcreate_margin_oco_orderzClient.create_margin_oco_orderž  s!   € ðT ×'Ñ'¨Ð0BÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )u•  Cancel an entire Order List for a margin account.

        https://binance-docs.github.io/apidocs/spot/en/#margin-account-cancel-oco-trade

        :param symbol: required
        :type symbol: str
        :param isIsolated: for isolated margin or not, "TRUE", "FALSE"ï¼Œdefault "FALSE"
        :type symbol: str
        :param orderListId: Either orderListId or listClientOrderId must be provided
        :type orderListId: int
        :param listClientOrderId: Either orderListId or listClientOrderId must be provided
        :type listClientOrderId: str
        :param newClientOrderId: Used to uniquely identify this cancel. Automatically generated by default.
        :type newClientOrderId: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "orderListId": 0,
                "contingencyType": "OCO",
                "listStatusType": "ALL_DONE",
                "listOrderStatus": "ALL_DONE",
                "listClientOrderId": "C3wyj4WVEktd7u9aVBRXcN",
                "transactionTime": 1574040868128,
                "symbol": "LTCBTC",
                "isIsolated": false,       // if isolated margin
                "orders": [
                    {
                        "symbol": "LTCBTC",
                        "orderId": 2,
                        "clientOrderId": "pO9ufTiFGg3nw2fOdgeOXa"
                    },
                    {
                        "symbol": "LTCBTC",
                        "orderId": 3,
                        "clientOrderId": "TXOvglzXuaubXAaENpaRCB"
                    }
                ],
                "orderReports": [
                    {
                        "symbol": "LTCBTC",
                        "origClientOrderId": "pO9ufTiFGg3nw2fOdgeOXa",
                        "orderId": 2,
                        "orderListId": 0,
                        "clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
                        "price": "1.00000000",
                        "origQty": "10.00000000",
                        "executedQty": "0.00000000",
                        "cummulativeQuoteQty": "0.00000000",
                        "status": "CANCELED",
                        "timeInForce": "GTC",
                        "type": "STOP_LOSS_LIMIT",
                        "side": "SELL",
                        "stopPrice": "1.00000000"
                    },
                    {
                        "symbol": "LTCBTC",
                        "origClientOrderId": "TXOvglzXuaubXAaENpaRCB",
                        "orderId": 3,
                        "orderListId": 0,
                        "clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
                        "price": "3.00000000",
                        "origQty": "10.00000000",
                        "executedQty": "0.00000000",
                        "cummulativeQuoteQty": "0.00000000",
                        "status": "CANCELED",
                        "timeInForce": "GTC",
                        "type": "LIMIT_MAKER",
                        "side": "SELL"
                    }
                ]
            }

    r”  úmargin/orderListTrq  rX  r¶  s     r…   Úcancel_margin_oco_orderzClient.cancel_margin_oco_order
  s!   € ð^ ×'Ñ'¨Ð2DÈTÐX^Ð'Ó_Ð_r‡   c                 ó,   — | j                  ddd|¬«      S )uZ  Retrieves a specific OCO based on provided optional parameters

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-oco-user_data

        :param isIsolated: for isolated margin or not, "TRUE", "FALSE"ï¼Œdefault "FALSE"
        :type symbol: str
        :param symbol: mandatory for isolated margin, not supported for cross margin
        :type symbol: str
        :param orderListId: Either orderListId or listClientOrderId must be provided
        :type orderListId: int
        :param listClientOrderId: Either orderListId or listClientOrderId must be provided
        :type listClientOrderId: str
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            {
                "orderListId": 27,
                "contingencyType": "OCO",
                "listStatusType": "EXEC_STARTED",
                "listOrderStatus": "EXECUTING",
                "listClientOrderId": "h2USkA5YQpaXHPIrkd96xE",
                "transactionTime": 1565245656253,
                "symbol": "LTCBTC",
                "isIsolated": false,       // if isolated margin
                "orders": [
                    {
                        "symbol": "LTCBTC",
                        "orderId": 4,
                        "clientOrderId": "qD1gy3kc3Gx0rihm9Y3xwS"
                    },
                    {
                        "symbol": "LTCBTC",
                        "orderId": 5,
                        "clientOrderId": "ARzZ9I00CPM8i3NhmU9Ega"
                    }
                ]
            }

    rð   r  Trq  rX  r¶  s     r…   Úget_margin_oco_orderzClient.get_margin_oco_order[  s!   € ðT ×'Ñ'¨Ð/AÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )u`
  Retrieves open OCO trades

        https://binance-docs.github.io/apidocs/spot/en/#query-margin-account-39-s-open-oco-user_data

        :param isIsolated: for isolated margin or not, "TRUE", "FALSE"ï¼Œdefault "FALSE"
        :type symbol: str
        :param symbol: mandatory for isolated margin, not supported for cross margin
        :type symbol: str
        :param fromId: If supplied, neither startTime or endTime can be provided
        :type fromId: int
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param limit: optional Default Value: 500; Max Value: 1000
        :type limit: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

            [
                {
                    "orderListId": 29,
                    "contingencyType": "OCO",
                    "listStatusType": "EXEC_STARTED",
                    "listOrderStatus": "EXECUTING",
                    "listClientOrderId": "amEEAXryFzFwYF1FeRpUoZ",
                    "transactionTime": 1565245913483,
                    "symbol": "LTCBTC",
                    "isIsolated": true,       // if isolated margin
                    "orders": [
                        {
                            "symbol": "LTCBTC",
                            "orderId": 4,
                            "clientOrderId": "oD7aesZqjEGlZrbtRpy5zB"
                        },
                        {
                            "symbol": "LTCBTC",
                            "orderId": 5,
                            "clientOrderId": "Jr1h6xirOxgeJOUuYQS7V3"
                        }
                    ]
                },
                {
                    "orderListId": 28,
                    "contingencyType": "OCO",
                    "listStatusType": "EXEC_STARTED",
                    "listOrderStatus": "EXECUTING",
                    "listClientOrderId": "hG7hFNxJV6cZy3Ze4AUT4d",
                    "transactionTime": 1565245913407,
                    "symbol": "LTCBTC",
                    "orders": [
                        {
                            "symbol": "LTCBTC",
                            "orderId": 2,
                            "clientOrderId": "j6lFOfbmFMRjTYA7rRJ0LP"
                        },
                        {
                            "symbol": "LTCBTC",
                            "orderId": 3,
                            "clientOrderId": "z0KCjOdditiLS5ekAFtK81"
                        }
                    ]
                }
            ]

    rð   úmargin/allOrderListTrq  rX  r¶  s     r…   Úget_open_margin_oco_ordersz!Client.get_open_margin_oco_orders‡  s!   € ðJ ×'Ñ'¨Ð/DÈTÐX^Ð'Ó_Ð_r‡   c                 ó6   — | j                  dddi ¬«      }|d   S )a=  Start a new cross-margin data stream and return the listen key
        If a stream already exists it should return the same key.
        If the stream becomes invalid a new key is returned.

        Can be used to keep the stream alive.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin

        :returns: API response

        .. code-block:: python

            {
                "listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  r–  Frq  r—  rX  r˜  s     r…   Úmargin_stream_get_listen_keyz#Client.margin_stream_get_listen_keyÐ  s*   € ð( ×&Ñ& vÐ/?ÈÐTVÐ&ÓWˆØ�;ÑÐr‡   c                 ó4   — d|i}| j                  ddd|¬«      S )a[  PING a cross-margin data stream to prevent a time out.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin

        :param listenKey: required
        :type listenKey: str

        :returns: API response

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException

        r—  r�  r–  Frq  rX  r›  s      r…   Úmargin_stream_keepalivezClient.margin_stream_keepaliveç  s.   € ð$ ˜ð
ˆð ×'Ñ'¨Ð/?ÈÐTZÐ'Ó[Ð[r‡   c                 ó4   — d|i}| j                  ddd|¬«      S )aJ  Close out a cross-margin data stream.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-margin

        :param listenKey: required
        :type listenKey: str

        :returns: API response

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException

        r—  r”  r–  Frq  rX  r›  s      r…   Úmargin_stream_closezClient.margin_stream_closeý  s.   € ð$ ˜ð
ˆð ×'Ñ'¨Ð2BÈ5ÐW]Ð'Ó^Ð^r‡   c                 ó>   — d|i}| j                  ddd|¬«      }|d   S )aª  Start a new isolated margin data stream and return the listen key
        If a stream already exists it should return the same key.
        If the stream becomes invalid a new key is returned.

        Can be used to keep the stream alive.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin

        :param symbol: required - symbol for the isolated margin account
        :type symbol: str

        :returns: API response

        .. code-block:: python

            {
                "listenKey":  "T3ee22BIYuWqmvne0HNq2A2WsFlEtLhvWCtItw6ffhhdmjifQ2tRbuKkTHhr"
            }

        :raises: BinanceRequestException, BinanceAPIException

        r¢  rŒ  úuserDataStream/isolatedFrq  r—  rX  ©r„   r¢  ré   r¦  s       r…   Ú%isolated_margin_stream_get_listen_keyz,Client.isolated_margin_stream_get_listen_key  s9   € ð0 �fð
ˆð ×&Ñ& vÐ/HÐQVÐ]cÐ&ÓdˆØ�;ÑÐr‡   c                 ó6   — ||dœ}| j                  ddd|¬«      S )aË  PING an isolated margin data stream to prevent a time out.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin

        :param symbol: required - symbol for the isolated margin account
        :type symbol: str
        :param listenKey: required
        :type listenKey: str

        :returns: API response

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException

        ©r¢  r—  r�  r  Frq  rX  ©r„   r¢  r—  ré   s       r…   Ú isolated_margin_stream_keepalivez'Client.isolated_margin_stream_keepalive2  s0   € ð( Ø"ñ
ˆð ×'Ñ'¨Ð/HÐQVÐ]cÐ'ÓdÐdr‡   c                 ó6   — ||dœ}| j                  ddd|¬«      S )aº  Close out an isolated margin data stream.

        https://binance-docs.github.io/apidocs/spot/en/#listen-key-isolated-margin

        :param symbol: required - symbol for the isolated margin account
        :type symbol: str
        :param listenKey: required
        :type listenKey: str

        :returns: API response

        .. code-block:: python

            {}

        :raises: BinanceRequestException, BinanceAPIException

        r  r”  r  Frq  rX  r  s       r…   Úisolated_margin_stream_closez#Client.isolated_margin_stream_closeK  s0   € ð( Ø"ñ
ˆð ×'Ñ'¨Ð2KÐTYÐ`fÐ'ÓgÐgr‡   c                 ó,   — | j                  ddd|¬«      S )zGet Lending Product List

        https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-list-user_data

        rð   úlending/daily/product/listTrq  rX  r¶  s     r…   Úget_lending_product_listzClient.get_lending_product_listf  s!   € ð ×'Ñ'¨Ð/KÐTXÐ_eÐ'ÓfÐfr‡   c                 ó,   — | j                  ddd|¬«      S )z±Get Left Daily Purchase Quota of Flexible Product.

        https://binance-docs.github.io/apidocs/spot/en/#get-left-daily-purchase-quota-of-flexible-product-user_data

        rð   úlending/daily/userLeftQuotaTrq  rX  r¶  s     r…   Úget_lending_daily_quota_leftz#Client.get_lending_daily_quota_leftn  s!   € ð ×'Ñ'¨Ð/LÐUYÐ`fÐ'ÓgÐgr‡   c                 ó,   — | j                  ddd|¬«      S )z€Purchase Flexible Product

        https://binance-docs.github.io/apidocs/spot/en/#purchase-flexible-product-user_data

        rŒ  úlending/daily/purchaseTrq  rX  r¶  s     r…   Úpurchase_lending_productzClient.purchase_lending_productv  ó!   € ð ×'Ñ'¨Ð0HÐQUÐ\bÐ'ÓcÐcr‡   c                 ó,   — | j                  ddd|¬«      S )z´Get Left Daily Redemption Quota of Flexible Product

        https://binance-docs.github.io/apidocs/spot/en/#get-left-daily-redemption-quota-of-flexible-product-user_data

        rð   ú!lending/daily/userRedemptionQuotaTrq  rX  r¶  s     r…   Ú"get_lending_daily_redemption_quotaz)Client.get_lending_daily_redemption_quota~  s!   € ð ×'Ñ'¨Ð/RÐ[_ÐflÐ'ÓmÐmr‡   c                 ó,   — | j                  ddd|¬«      S )z|Redeem Flexible Product

        https://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-user_data

        rŒ  úlending/daily/redeemTrq  rX  r¶  s     r…   Úredeem_lending_productzClient.redeem_lending_product†  s    € ð ×'Ñ'¨Ð0FÈtÐZ`Ð'ÓaÐar‡   c                 ó,   — | j                  ddd|¬«      S )zˆGet Flexible Product Position

        https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data

        rð   úlending/daily/token/positionTrq  rX  r¶  s     r…   Úget_lending_positionzClient.get_lending_positionŽ  ó!   € ð ×'Ñ'¨Ð/MÐVZÐagÐ'ÓhÐhr‡   c                 ó,   — | j                  ddd|¬«      S )aÉ  Get Fixed and Activity Project List

        https://binance-docs.github.io/apidocs/spot/en/#get-fixed-and-activity-project-list-user_data

        :param asset: optional
        :type asset: str
        :param type: required - "ACTIVITY", "CUSTOMIZED_FIXED"
        :type type: str
        :param status: optional - "ALL", "SUBSCRIBABLE", "UNSUBSCRIBABLE"; default "ALL"
        :type status: str
        :param sortBy: optional - "START_TIME", "LOT_SIZE", "INTEREST_RATE", "DURATION"; default "START_TIME"
        :type sortBy: str
        :param current: optional - Currently querying page. Start from 1. Default:1
        :type current: int
        :param size: optional - Default:10, Max:100
        :type size: int
        :param recvWindow: the number of milliseconds the request is valid for
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "asset": "USDT",
                    "displayPriority": 1,
                    "duration": 90,
                    "interestPerLot": "1.35810000",
                    "interestRate": "0.05510000",
                    "lotSize": "100.00000000",
                    "lotsLowLimit": 1,
                    "lotsPurchased": 74155,
                    "lotsUpLimit": 80000,
                    "maxLotsPerUser": 2000,
                    "needKyc": False,
                    "projectId": "CUSDT90DAYSS001",
                    "projectName": "USDT",
                    "status": "PURCHASING",
                    "type": "CUSTOMIZED_FIXED",
                    "withAreaLimitation": False
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úlending/project/listTrq  rX  r¶  s     r…   Úget_fixed_activity_project_listz&Client.get_fixed_activity_project_list–  s!   € ð` ×'Ñ'¨Ð/EÈdÐY_Ð'Ó`Ð`r‡   c                 ó,   — | j                  ddd|¬«      S )zxGet Lending Account Details

        https://binance-docs.github.io/apidocs/spot/en/#lending-account-user_data

        rð   úlending/union/accountTrq  rX  r¶  s     r…   Úget_lending_accountzClient.get_lending_accountÈ  s    € ð ×'Ñ'¨Ð/FÈtÐZ`Ð'ÓaÐar‡   c                 ó,   — | j                  ddd|¬«      S )z}Get Lending Purchase History

        https://binance-docs.github.io/apidocs/spot/en/#get-purchase-record-user_data

        rð   úlending/union/purchaseRecordTrq  rX  r¶  s     r…   Úget_lending_purchase_historyz#Client.get_lending_purchase_historyÐ  r2  r‡   c                 ó,   — | j                  ddd|¬«      S )z�Get Lending Redemption History

        https://binance-docs.github.io/apidocs/spot/en/#get-redemption-record-user_data

        rð   úlending/union/redemptionRecordTrq  rX  r¶  s     r…   Úget_lending_redemption_historyz%Client.get_lending_redemption_historyØ  s!   € ð ×'Ñ'¨Ð/OÐX\ÐciÐ'ÓjÐjr‡   c                 ó,   — | j                  ddd|¬«      S )z€Get Lending Interest History

        https://binance-docs.github.io/apidocs/spot/en/#get-interest-history-user_data-2

        rð   úlending/union/interestHistoryTrq  rX  r¶  s     r…   Úget_lending_interest_historyz#Client.get_lending_interest_historyà  s!   € ð ×'Ñ'¨Ð/NÐW[ÐbhÐ'ÓiÐir‡   c                 ó,   — | j                  ddd|¬«      S )z®Change Fixed/Activity Position to Daily Position

        https://binance-docs.github.io/apidocs/spot/en/#change-fixed-activity-position-to-daily-position-user_data

        rŒ  úlending/positionChangedTrq  rX  r¶  s     r…   Ú'change_fixed_activity_to_daily_positionz.Client.change_fixed_activity_to_daily_positionè  s!   € ð ×'Ñ'¨Ð0IÐRVÐ]cÐ'ÓdÐdr‡   c                 ó,   — | j                  ddd|¬«      S )z~Get Staking Product List

        https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-list-user_data

        rð   ústaking/productListTrq  rX  r¶  s     r…   Úget_staking_product_listzClient.get_staking_product_listò  s    € ð ×'Ñ'¨Ð/DÈTÐX^Ð'Ó_Ð_r‡   c                 ó,   — | j                  ddd|¬«      S )z~Purchase Staking Product

        https://binance-docs.github.io/apidocs/spot/en/#purchase-staking-product-user_data

        rŒ  ústaking/purchaseTrq  rX  r¶  s     r…   Úpurchase_staking_productzClient.purchase_staking_productú  s    € ð ×'Ñ'¨Ð0BÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )zzRedeem Staking Product

        https://binance-docs.github.io/apidocs/spot/en/#redeem-staking-product-user_data

        rŒ  ústaking/redeemTrq  rX  r¶  s     r…   Úredeem_staking_productzClient.redeem_staking_product  s    € ð ×'Ñ'¨Ð0@ÈÐTZÐ'Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )z†Get Staking Product Position

        https://binance-docs.github.io/apidocs/spot/en/#get-staking-product-position-user_data

        rð   ústaking/positionTrq  rX  r¶  s     r…   Úget_staking_positionzClient.get_staking_position
  s    € ð ×'Ñ'¨Ð/AÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )z}Get Staking Purchase History

        https://binance-docs.github.io/apidocs/spot/en/#get-staking-history-user_data

        rð   ústaking/purchaseRecordTrq  rX  r¶  s     r…   Úget_staking_purchase_historyz#Client.get_staking_purchase_history  s!   € ð ×'Ñ'¨Ð/GÐPTÐ[aÐ'ÓbÐbr‡   c                 ó,   — | j                  ddd|¬«      S )z—Set Auto Staking on Locked Staking or Locked DeFi Staking

        https://binance-docs.github.io/apidocs/spot/en/#set-auto-staking-user_data

        rŒ  ústaking/setAutoStakingTrq  rX  r¶  s     r…   Úset_auto_stakingzClient.set_auto_staking  r(  r‡   c                 ó,   — | j                  ddd|¬«      S )z¢Get Personal Left Quota of Staking Product

        https://binance-docs.github.io/apidocs/spot/en/#get-personal-left-quota-of-staking-product-user_data

        rð   ústaking/personalLeftQuotaTrq  rX  r¶  s     r…   Úget_personal_left_quotazClient.get_personal_left_quota"  s!   € ð ×'Ñ'¨Ð/JÐSWÐ^dÐ'ÓeÐer‡   c                 óX   — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      S )zƒGet staking information for a supported asset (or assets)

        https://docs.binance.us/#get-staking-asset-information

        Úusú%Endpoint only available on binance.usrð   ústaking/assetTrº  ©rk   r€  r¶  s     r…   Úget_staking_asset_uszClient.get_staking_asset_us,  s6   € ð �x‰x˜4ÒÐHÐ!HÓHÐØ×'Ñ'¨¨ÀÈ6Ð'ÓRÐRr‡   c                 óX   — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      S )zPStake a supported asset.

        https://docs.binance.us/#stake-asset

        r[  r\  rŒ  ústaking/stakeTrº  r^  r¶  s     r…   Ústake_asset_uszClient.stake_asset_us5  s6   € ð �x‰x˜4ÒÐHÐ!HÓHÐØ×'Ñ'¨°ÀÈFÐ'ÓSÐSr‡   c                 óX   — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      S )zPUnstake a staked asset

        https://docs.binance.us/#unstake-asset

        r[  r\  rŒ  ústaking/unstakeTrº  r^  r¶  s     r…   Úunstake_asset_uszClient.unstake_asset_us>  s7   € ð �x‰x˜4ÒÐHÐ!HÓHÐØ×'Ñ'¨Ð0AÀ4ÈfÐ'ÓUÐUr‡   c                 óX   — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      S )zSGet staking balance

        https://docs.binance.us/#get-staking-balance

        r[  r\  rð   ústaking/stakingBalanceTrº  r^  r¶  s     r…   Úget_staking_balance_uszClient.get_staking_balance_usG  s8   € ð �x‰x˜4ÒÐHÐ!HÓHÐØ×'Ñ'¨Ð/GÈÐTZÐ'Ó[Ð[r‡   c                 óX   — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      S )zSGet staking history

        https://docs.binance.us/#get-staking-history

        r[  r\  rð   ústaking/historyTrº  r^  r¶  s     r…   Úget_staking_history_uszClient.get_staking_history_usP  s7   € ð �x‰x˜4ÒÐHÐ!HÓHÐØ×'Ñ'¨Ð/@À$ÈVÐ'ÓTÐTr‡   c                 óX   — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      S )z–Get staking rewards history for an asset(or assets) within a given time range.

        https://docs.binance.us/#get-staking-rewards-history

        r[  r\  rð   ústaking/stakingRewardsHistoryTrº  r^  r¶  s     r…   Úget_staking_rewards_history_usz%Client.get_staking_rewards_history_usY  s9   € ð �x‰x˜4ÒÐHÐ!HÓHÐØ×'Ñ'¨Ð/NÐPTÐ[aÐ'ÓbÐbr‡   c                 ó,   — | j                  ddd|¬«      S )aO  Query Sub-account List.

        https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-list-sapi-for-master-account

        :param email: optional - Sub-account email
        :type email: str
        :param isFreeze: optional
        :type isFreeze: str
        :param page: optional - Default value: 1
        :type page: int
        :param limit: optional - Default value: 1, Max value: 200
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "subAccounts":[
                    {
                        "email":"testsub@gmail.com",
                        "isFreeze":false,
                        "createTime":1544433328000
                    },
                    {
                        "email":"virtual@oxebmvfonoemail.com",
                        "isFreeze":false,
                        "createTime":1544433328000
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úsub-account/listTrº  rX  r¶  s     r…   Úget_sub_account_listzClient.get_sub_account_listd  s    € ðL ×'Ñ'¨Ð/AÀ4ÈfÐ'ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )a‡  Query Sub-account Transfer History.

        https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-spot-asset-transfer-history-sapi-for-master-account

        :param fromEmail: optional
        :type fromEmail: str
        :param toEmail: optional
        :type toEmail: str
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param page: optional - Default value: 1
        :type page: int
        :param limit: optional - Default value: 500
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "from":"aaa@test.com",
                    "to":"bbb@test.com",
                    "asset":"BTC",
                    "qty":"10",
                    "status": "SUCCESS",
                    "tranId": 6489943656,
                    "time":1544433328000
                },
                {
                    "from":"bbb@test.com",
                    "to":"ccc@test.com",
                    "asset":"ETH",
                    "qty":"2",
                    "status": "SUCCESS",
                    "tranId": 6489938713,
                    "time":1544433328000
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   ú sub-account/sub/transfer/historyTrº  rX  r¶  s     r…   Ú get_sub_account_transfer_historyz'Client.get_sub_account_transfer_historyŒ  s"   € ð` ×'Ñ'¨Ð/QÐSWÐ^dÐ'ÓeÐer‡   c                 ó,   — | j                  ddd|¬«      S )ah  Query Sub-account Futures Transfer History.

        https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-futures-asset-transfer-history-for-master-account

        :param email: required
        :type email: str
        :param futuresType: required
        :type futuresType: int
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param page: optional
        :type page: int
        :param limit: optional
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "success":true,
                "futuresType": 2,
                "transfers":[
                    {
                        "from":"aaa@test.com",
                        "to":"bbb@test.com",
                        "asset":"BTC",
                        "qty":"1",
                        "time":1544433328000
                    },
                    {
                        "from":"bbb@test.com",
                        "to":"ccc@test.com",
                        "asset":"ETH",
                        "qty":"2",
                        "time":1544433328000
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   ú$sub-account/futures/internalTransferTrº  rX  r¶  s     r…   Ú(get_sub_account_futures_transfer_historyz/Client.get_sub_account_futures_transfer_history¾  s"   € ð` ×'Ñ'¨Ð/UÐW[ÐbhÐ'ÓiÐir‡   c                 ó,   — | j                  ddd|¬«      S )aP  Execute sub-account Futures transfer

        https://github.com/binance-exchange/binance-official-api-docs/blob/9dbe0e961b80557bb19708a707c7fad08842b28e/wapi-api.md#sub-account-transferfor-master-account

        :param fromEmail: required - Sender email
        :type fromEmail: str
        :param toEmail: required - Recipient email
        :type toEmail: str
        :param futuresType: required
        :type futuresType: int
        :param asset: required
        :type asset: str
        :param amount: required
        :type amount: decimal
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

           {
                "success":true,
                "txnId":"2934662589"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  rv  Trº  rX  r¶  s     r…   Ú#create_sub_account_futures_transferz*Client.create_sub_account_futures_transferð  s!   € ð< ×'Ñ'¨Ð0VÐX\ÐciÐ'ÓjÐjr‡   c                 ó.   — | j                  ddd|d¬«      S )aò  Fetch sub-account assets

        https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-assets-sapi-for-master-account

        :param email: required
        :type email: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "balances":[
                    {
                        "asset":"ADA",
                        "free":10000,
                        "locked":0
                    },
                    {
                        "asset":"BNB",
                        "free":10003,
                        "locked":0
                    },
                    {
                        "asset":"BTC",
                        "free":11467.6399,
                        "locked":0
                    },
                    {
                        "asset":"ETH",
                        "free":10004.995,
                        "locked":0
                    },
                    {
                        "asset":"USDT",
                        "free":11652.14213,
                        "locked":0
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úsub-account/assetsTr¦   r±  rX  r¶  s     r…   Úget_sub_account_assetszClient.get_sub_account_assets  s$   € ð^ ×'Ñ'¨Ð/CÀTÐPVÐ`aÐ'ÓbÐbr‡   c                 ó,   — | j                  ddd|¬«      S )a-  Query Sub-account Spot Assets Summary (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#query-sub-account-spot-assets-summary-for-master-account

        :param email: optional - Sub account email
        :type email: str
        :param page: optional - default 1
        :type page: int
        :param size: optional - default 10, max 20
        :type size: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

           {
                "totalCount":2,
                "masterAccountTotalAsset": "0.23231201",
                "spotSubUserAssetBtcVoList":[
                    {
                        "email":"sub123@test.com",
                        "totalAsset":"9999.00000000"
                    },
                    {
                        "email":"test456@test.com",
                        "totalAsset":"0.00000000"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úsub-account/spotSummaryTrº  rX  r¶  s     r…   Úquery_subaccount_spot_summaryz$Client.query_subaccount_spot_summaryA  s!   € ðH ×'Ñ'¨Ð/HÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )a  Get Sub-account Deposit Address (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-sub-account-deposit-address-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param coin: required
        :type coin: str
        :param network: optional
        :type network: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

           {
                "address":"TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV",
                "coin":"USDT",
                "tag":"",
                "url":"https://tronscan.org/#/address/TDunhSa7jkTNuKrusUTU1MUHtqXoBPKETV"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úcapital/deposit/subAddressTrº  rX  r¶  s     r…   Úget_subaccount_deposit_addressz%Client.get_subaccount_deposit_addressg  s    € ð8 ×'Ñ'¨Ð/KÈTÐX^Ð'Ó_Ð_r‡   c                 ó,   — | j                  ddd|¬«      S )aÉ  Get Sub-account Deposit History (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-sub-account-deposit-address-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param coin: optional
        :type coin: str
        :param status: optional - (0:pending,6: credited but cannot withdraw, 1:success)
        :type status: int
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param limit: optional
        :type limit: int
        :param offset: optional - default:0
        :type offset: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

           [
                {
                    "amount":"0.00999800",
                    "coin":"PAXG",
                    "network":"ETH",
                    "status":1,
                    "address":"0x788cabe9236ce061e5a892e1a59395a81fc8d62c",
                    "addressTag":"",
                    "txId":"0xaad4654a3234aa6118af9b4b335f5ae81c360b2394721c019b5d1e75328b09f3",
                    "insertTime":1599621997000,
                    "transferType":0,
                    "confirmTimes":"12/12"
                },
                {
                    "amount":"0.50000000",
                    "coin":"IOTA",
                    "network":"IOTA",
                    "status":1,
                    "address":"SIZ9VLMHWATXKV99LH99CIGFJFUMLEHGWVZVNNZXRJJVWBPHYWPPBOSDORZ9EQSHCZAMPVAPGFYQAUUV9DROOXJLNW",
                    "addressTag":"",
                    "txId":"ESBFVQUTPIWQNJSPXFNHNYHSQNTGKRVKPRABQWTAXCDWOAKDKYWPTVG9BGXNVNKTLEJGESAVXIKIZ9999",
                    "insertTime":1599620082000,
                    "transferType":0,
                    "confirmTimes":"1/1"
                }
           ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úcapital/deposit/subHisrecTrº  rX  r¶  s     r…   Úget_subaccount_deposit_historyz%Client.get_subaccount_deposit_history…  s!   € ðp ×'Ñ'¨Ð/JÈDÐW]Ð'Ó^Ð^r‡   c                 ó,   — | j                  ddd|¬«      S )a  Get Sub-account's Status on Margin/Futures (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-sub-account-39-s-status-on-margin-futures-for-master-account

        :param email: optional - Sub account email
        :type email: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

           [
                {
                    "email":"123@test.com",      // user email
                    "isSubUserEnabled": true,    // true or false
                    "isUserActive": true,        // true or false
                    "insertTime": 1570791523523  // sub account create time
                    "isMarginEnabled": true,     // true or false for margin
                    "isFutureEnabled": true      // true or false for futures.
                    "mobile": 1570791523523      // user mobile number
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   úsub-account/statusTrº  rX  r¶  s     r…   Ú$get_subaccount_futures_margin_statusz+Client.get_subaccount_futures_margin_status¿  s    € ð: ×'Ñ'¨Ð/CÀTÐPVÐ'ÓWÐWr‡   c                 ó,   — | j                  ddd|¬«      S )a#  Enable Margin for Sub-account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#enable-margin-for-sub-account-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

           {

                "email":"123@test.com",

                "isMarginEnabled": true

            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úsub-account/margin/enableTrº  rX  r¶  s     r…   Úenable_subaccount_marginzClient.enable_subaccount_marginÞ  s    € ð2 ×'Ñ'¨Ð0KÈTÐX^Ð'Ó_Ð_r‡   c                 ó,   — | j                  ddd|¬«      S )a
  Get Detail on Sub-account's Margin Account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-detail-on-sub-account-39-s-margin-account-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                  "email":"123@test.com",
                  "marginLevel": "11.64405625",
                  "totalAssetOfBtc": "6.82728457",
                  "totalLiabilityOfBtc": "0.58633215",
                  "totalNetAssetOfBtc": "6.24095242",
                  "marginTradeCoeffVo":
                        {
                            "forceLiquidationBar": "1.10000000",  // Liquidation margin ratio
                            "marginCallBar": "1.50000000",        // Margin call margin ratio
                            "normalBar": "2.00000000"             // Initial margin ratio
                        },
                  "marginUserAssetVoList": [
                      {
                          "asset": "BTC",
                          "borrowed": "0.00000000",
                          "free": "0.00499500",
                          "interest": "0.00000000",
                          "locked": "0.00000000",
                          "netAsset": "0.00499500"
                      },
                      {
                          "asset": "BNB",
                          "borrowed": "201.66666672",
                          "free": "2346.50000000",
                          "interest": "0.00000000",
                          "locked": "0.00000000",
                          "netAsset": "2144.83333328"
                      },
                      {
                          "asset": "ETH",
                          "borrowed": "0.00000000",
                          "free": "0.00000000",
                          "interest": "0.00000000",
                          "locked": "0.00000000",
                          "netAsset": "0.00000000"
                      },
                      {
                          "asset": "USDT",
                          "borrowed": "0.00000000",
                          "free": "0.00000000",
                          "interest": "0.00000000",
                          "locked": "0.00000000",
                          "netAsset": "0.00000000"
                      }
                  ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úsub-account/margin/accountTrº  rX  r¶  s     r…   Úget_subaccount_margin_detailsz$Client.get_subaccount_margin_detailsù  s!   € ðB ×'Ñ'¨Ð/KÈTÐX^Ð'Ó_Ð_r‡   c                 ó,   — | j                  ddd|¬«      S )aŽ  Get Summary of Sub-account's Margin Account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-summary-of-sub-account-39-s-margin-account-for-master-account

        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "totalAssetOfBtc": "4.33333333",
                "totalLiabilityOfBtc": "2.11111112",
                "totalNetAssetOfBtc": "2.22222221",
                "subAccountList":[
                    {
                        "email":"123@test.com",
                        "totalAssetOfBtc": "2.11111111",
                        "totalLiabilityOfBtc": "1.11111111",
                        "totalNetAssetOfBtc": "1.00000000"
                    },
                    {
                        "email":"345@test.com",
                        "totalAssetOfBtc": "2.22222222",
                        "totalLiabilityOfBtc": "1.00000001",
                        "totalNetAssetOfBtc": "1.22222221"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   ú!sub-account/margin/accountSummaryTrº  rX  r¶  s     r…   Úget_subaccount_margin_summaryz$Client.get_subaccount_margin_summary<  s"   € ðF ×'Ñ'¨Ð/RÐTXÐ_eÐ'ÓfÐfr‡   c                 ó,   — | j                  ddd|¬«      S )a9  Enable Futures for Sub-account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#enable-futures-for-sub-account-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {

                "email":"123@test.com",

                "isFuturesEnabled": true  // true or false

            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úsub-account/futures/enableTrº  rX  r¶  s     r…   Úenable_subaccount_futuresz Client.enable_subaccount_futuresa  s    € ð2 ×'Ñ'¨Ð0LÈdÐY_Ð'Ó`Ð`r‡   c                 ó.   — | j                  ddd|d¬«      S )aý  Get Detail on Sub-account's Futures Account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-detail-on-sub-account-39-s-futures-account-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "email": "abc@test.com",
                "asset": "USDT",
                "assets":[
                    {
                        "asset": "USDT",
                        "initialMargin": "0.00000000",
                        "maintenanceMargin": "0.00000000",
                        "marginBalance": "0.88308000",
                        "maxWithdrawAmount": "0.88308000",
                        "openOrderInitialMargin": "0.00000000",
                        "positionInitialMargin": "0.00000000",
                        "unrealizedProfit": "0.00000000",
                        "walletBalance": "0.88308000"
                     }
                ],
                "canDeposit": true,
                "canTrade": true,
                "canWithdraw": true,
                "feeTier": 2,
                "maxWithdrawAmount": "0.88308000",
                "totalInitialMargin": "0.00000000",
                "totalMaintenanceMargin": "0.00000000",
                "totalMarginBalance": "0.88308000",
                "totalOpenOrderInitialMargin": "0.00000000",
                "totalPositionInitialMargin": "0.00000000",
                "totalUnrealizedProfit": "0.00000000",
                "totalWalletBalance": "0.88308000",
                "updateTime": 1576756674610
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úsub-account/futures/accountTr¤   r±  rX  r¶  s     r…   Úget_subaccount_futures_detailsz%Client.get_subaccount_futures_details|  s$   € ð` ×'Ñ'¨Ð/LÈdÐY_ÐijÐ'ÓkÐkr‡   c                 ó.   — | j                  ddd|d¬«      S )a  Get Summary of Sub-account's Futures Account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-summary-of-sub-account-39-s-futures-account-for-master-account

        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "totalInitialMargin": "9.83137400",
                "totalMaintenanceMargin": "0.41568700",
                "totalMarginBalance": "23.03235621",
                "totalOpenOrderInitialMargin": "9.00000000",
                "totalPositionInitialMargin": "0.83137400",
                "totalUnrealizedProfit": "0.03219710",
                "totalWalletBalance": "22.15879444",
                "asset": "USDT",
                "subAccountList":[
                    {
                        "email": "123@test.com",
                        "totalInitialMargin": "9.00000000",
                        "totalMaintenanceMargin": "0.00000000",
                        "totalMarginBalance": "22.12659734",
                        "totalOpenOrderInitialMargin": "9.00000000",
                        "totalPositionInitialMargin": "0.00000000",
                        "totalUnrealizedProfit": "0.00000000",
                        "totalWalletBalance": "22.12659734",
                        "asset": "USDT"
                    },
                    {
                        "email": "345@test.com",
                        "totalInitialMargin": "0.83137400",
                        "totalMaintenanceMargin": "0.41568700",
                        "totalMarginBalance": "0.90575887",
                        "totalOpenOrderInitialMargin": "0.00000000",
                        "totalPositionInitialMargin": "0.83137400",
                        "totalUnrealizedProfit": "0.03219710",
                        "totalWalletBalance": "0.87356177",
                        "asset": "USDT"
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   ú"sub-account/futures/accountSummaryTr¤   r±  rX  r¶  s     r…   Úget_subaccount_futures_summaryz%Client.get_subaccount_futures_summary®  s%   € ðd ×'Ñ'¨Ð/SÐUYÐ`fÐpqÐ'ÓrÐrr‡   c                 ó.   — | j                  ddd|d¬«      S )aä  Get Futures Position-Risk of Sub-account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#get-futures-position-risk-of-sub-account-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
                {
                    "entryPrice": "9975.12000",
                    "leverage": "50",              // current initial leverage
                    "maxNotional": "1000000",      // notional value limit of current initial leverage
                    "liquidationPrice": "7963.54",
                    "markPrice": "9973.50770517",
                    "positionAmount": "0.010",
                    "symbol": "BTCUSDT",
                    "unrealizedProfit": "-0.01612295"
                }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   ú sub-account/futures/positionRiskTr¤   r±  rX  r¶  s     r…   Ú#get_subaccount_futures_positionriskz*Client.get_subaccount_futures_positionriskâ  s$   € ð< ×'Ñ'¨Ð/QÐSWÐ^dÐnoÐ'ÓpÐpr‡   c                 ó,   — | j                  ddd|¬«      S )aO  Futures Transfer for Sub-account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#futures-transfer-for-sub-account-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param asset: required - The asset being transferred, e.g., USDT
        :type asset: str
        :param amount: required - The amount to be transferred
        :type amount: float
        :param type: required - 1: transfer from subaccount's spot account to its USDT-margined futures account
                                2: transfer from subaccount's USDT-margined futures account to its spot account
                                3: transfer from subaccount's spot account to its COIN-margined futures account
                                4: transfer from subaccount's COIN-margined futures account to its spot account
        :type type: int

        :returns: API response

        .. code-block:: python

            {
                "txnId":"2966662589"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úsub-account/futures/transferTrº  rX  r¶  s     r…   Ú make_subaccount_futures_transferz'Client.make_subaccount_futures_transfer  s!   € ð8 ×'Ñ'¨Ð0NÐPTÐ[aÐ'ÓbÐbr‡   c                 ó,   — | j                  ddd|¬«      S )aK  Margin Transfer for Sub-account (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#margin-transfer-for-sub-account-for-master-account

        :param email: required - Sub account email
        :type email: str
        :param asset: required - The asset being transferred, e.g., USDT
        :type asset: str
        :param amount: required - The amount to be transferred
        :type amount: float
        :param type: required - 1: transfer from subaccount's spot account to margin account
                                2: transfer from subaccount's margin account to its spot account
        :type type: int

        :returns: API response

        .. code-block:: python

            {
                "txnId":"2966662589"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úsub-account/margin/transferTrº  rX  r¶  s     r…   Úmake_subaccount_margin_transferz&Client.make_subaccount_margin_transfer   s    € ð4 ×'Ñ'¨Ð0MÈtÐZ`Ð'ÓaÐar‡   c                 ó,   — | j                  ddd|¬«      S )aÃ  Transfer to Sub-account of Same Master (For Sub-account)

        https://binance-docs.github.io/apidocs/spot/en/#transfer-to-sub-account-of-same-master-for-sub-account

        :param toEmail: required - Sub account email
        :type toEmail: str
        :param asset: required - The asset being transferred, e.g., USDT
        :type asset: str
        :param amount: required - The amount to be transferred
        :type amount: float
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "txnId":"2966662589"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úsub-account/transfer/subToSubTrº  rX  r¶  s     r…   Ú&make_subaccount_to_subaccount_transferz-Client.make_subaccount_to_subaccount_transfer<  s!   € ð2 ×'Ñ'¨Ð0OÐQUÐ\bÐ'ÓcÐcr‡   c                 ó,   — | j                  ddd|¬«      S )aK  Transfer to Master (For Sub-account)

        https://binance-docs.github.io/apidocs/spot/en/#transfer-to-master-for-sub-account

        :param asset: required - The asset being transferred, e.g., USDT
        :type asset: str
        :param amount: required - The amount to be transferred
        :type amount: float
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "txnId":"2966662589"
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  ú sub-account/transfer/subToMasterTrº  rX  r¶  s     r…   Ú"make_subaccount_to_master_transferz)Client.make_subaccount_to_master_transferW  s!   € ð. ×'Ñ'¨Ð0RÐTXÐ_eÐ'ÓfÐfr‡   c                 ó,   — | j                  ddd|¬«      S )aŠ  Sub-account Transfer History (For Sub-account)

        https://binance-docs.github.io/apidocs/spot/en/#transfer-to-master-for-sub-account

        :param asset: required - The asset being transferred, e.g., USDT
        :type asset: str
        :param type: optional - 1: transfer in, 2: transfer out
        :type type: int
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param limit: optional - Default 500
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
              {
                "counterParty":"master",
                "email":"master@test.com",
                "type":1,  // 1 for transfer in, 2 for transfer out
                "asset":"BTC",
                "qty":"1",
                "status":"SUCCESS",
                "tranId":11798835829,
                "time":1544433325000
              },
              {
                "counterParty":"subAccount",
                "email":"sub2@test.com",
                "type":2,
                "asset":"ETH",
                "qty":"2",
                "status":"SUCCESS",
                "tranId":11798829519,
                "time":1544433326000
              }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   ú#sub-account/transfer/subUserHistoryTrº  rX  r¶  s     r…   Úget_subaccount_transfer_historyz&Client.get_subaccount_transfer_historyp  s"   € ð` ×'Ñ'¨Ð/TÐVZÐagÐ'ÓhÐhr‡   c                 ó,   — | j                  ddd|¬«      S )aŒ  Universal Transfer (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#universal-transfer-for-master-account

        :param fromEmail: optional
        :type fromEmail: str
        :param toEmail: optional
        :type toEmail: str
        :param fromAccountType: required - "SPOT","USDT_FUTURE","COIN_FUTURE"
        :type fromAccountType: str
        :param toAccountType: required - "SPOT","USDT_FUTURE","COIN_FUTURE"
        :type toAccountType: str
        :param asset: required - The asset being transferred, e.g., USDT
        :type asset: str
        :param amount: required
        :type amount: float
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "tranId":11945860693
            }

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  úsub-account/universalTransferTrº  rX  r¶  s     r…   Ú"make_subaccount_universal_transferz)Client.make_subaccount_universal_transfer¢  s!   € ð> ×'Ñ'¨Ð0OÐQUÐ\bÐ'ÓcÐcr‡   c                 ó,   — | j                  ddd|¬«      S )a÷  Universal Transfer (For Master Account)

        https://binance-docs.github.io/apidocs/spot/en/#query-universal-transfer-history

        :param fromEmail: optional
        :type fromEmail: str
        :param toEmail: optional
        :type toEmail: str
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param page: optional
        :type page: int
        :param limit: optional
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            [
              {
                "tranId":11945860693,
                "fromEmail":"master@test.com",
                "toEmail":"subaccount1@test.com",
                "asset":"BTC",
                "amount":"0.1",
                "fromAccountType":"SPOT",
                "toAccountType":"COIN_FUTURE",
                "status":"SUCCESS",
                "createTimeStamp":1544433325000
              },
              {
                "tranId":11945857955,
                "fromEmail":"master@test.com",
                "toEmail":"subaccount2@test.com",
                "asset":"ETH",
                "amount":"0.2",
                "fromAccountType":"SPOT",
                "toAccountType":"USDT_FUTURE",
                "status":"SUCCESS",
                "createTimeStamp":1544433326000
              }
            ]

        :raises: BinanceRequestException, BinanceAPIException

        rð   r®  Trº  rX  r¶  s     r…   Úget_universal_transfer_historyz%Client.get_universal_transfer_historyÃ  s"   € ðh ×'Ñ'¨Ð/NÐPTÐ[aÐ'ÓbÐbr‡   c                 ó&   — | j                  dd«      S )zyTest connectivity to the Rest API

        https://binance-docs.github.io/apidocs/futures/en/#test-connectivity

        rð   rV  ©rn  r�   s    r…   Úfutures_pingzClient.futures_pingû  ó   € ð ×(Ñ(¨°Ó7Ð7r‡   c                 ó&   — | j                  dd«      S )zšTest connectivity to the Rest API and get the current server time.

        https://binance-docs.github.io/apidocs/futures/en/#check-server-time

        rð   rö   r³  r�   s    r…   Úfutures_timezClient.futures_time  rµ  r‡   c                 ó&   — | j                  dd«      S )zœCurrent exchange trading rules and symbol information

        https://binance-docs.github.io/apidocs/futures/en/#exchange-information-market_data

        rð   r�  r³  r�   s    r…   Úfutures_exchange_infozClient.futures_exchange_info  ó   € ð ×(Ñ(¨°Ó?Ð?r‡   c                 ó*   — | j                  dd|¬«      S )z~Get the Order Book for the market

        https://binance-docs.github.io/apidocs/futures/en/#order-book-market_data

        rð   rµ  rº  r³  r¶  s     r…   Úfutures_order_bookzClient.futures_order_book  s   € ð ×(Ñ(¨°¸fÐ(ÓEÐEr‡   c                 ó*   — | j                  dd|¬«      S )zˆGet recent trades (up to last 500).

        https://binance-docs.github.io/apidocs/futures/en/#recent-trades-list-market_data

        rð   r¹  rº  r³  r¶  s     r…   Úfutures_recent_tradeszClient.futures_recent_trades  ó   € ð ×(Ñ(¨°¸vÐ(ÓFÐFr‡   c                 ó*   — | j                  dd|¬«      S )z‡Get older market historical trades.

        https://binance-docs.github.io/apidocs/futures/en/#old-trades-lookup-market_data

        rð   r¾  rº  r³  r¶  s     r…   Úfutures_historical_tradesz Client.futures_historical_trades#  ó   € ð ×(Ñ(¨Ð0BÈÐ(ÓPÐPr‡   c                 ó*   — | j                  dd|¬«      S )a  Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same
        price will have the quantity aggregated.

        https://binance-docs.github.io/apidocs/futures/en/#compressed-aggregate-trades-list-market_data

        rð   rÁ  rº  r³  r¶  s     r…   Úfutures_aggregate_tradeszClient.futures_aggregate_trades+  s   € ð ×(Ñ(¨°À&Ð(ÓIÐIr‡   c                 ó*   — | j                  dd|¬«      S )zÀKline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

        https://binance-docs.github.io/apidocs/futures/en/#kline-candlestick-data-market_data

        rð   rÖ  rº  r³  r¶  s     r…   rÜ  zClient.futures_klines4  r¿  r‡   c                 ó*   — | j                  dd|¬«      S )zØKline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.

        https://binance-docs.github.io/apidocs/futures/en/#continuous-contract-kline-candlestick-data

        rð   ÚcontinuousKlinesrº  r³  r¶  s     r…   Úfutures_continous_klineszClient.futures_continous_klines<  rÂ  r‡   c                 óL   — | j                  |||||t        j                  ¬«      S )aÿ  Get historical futures klines from Binance

        :param symbol: Name of symbol pair e.g. BNBBTC
        :type symbol: str
        :param interval: Binance Kline interval
        :type interval: str
        :param start_str: Start date string in UTC format or timestamp in milliseconds
        :type start_str: str|int
        :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
        :type end_str: str|int
        :param limit: Default 500; max 1000.
        :type limit: int

        :return: list of OHLCV values (Open time, Open, High, Low, Close, Volume, Close time, Quote asset volume, Number of trades, Taker buy base asset volume, Taker buy quote asset volume, Ignore)

        ©rê  rä  rØ  ©rì  r   rÛ  ©r„   r¢  rã  rÏ  rê  rä  s         r…   Úfutures_historical_klinesz Client.futures_historical_klinesD  s<   € ð" ×&Ñ& v¨x¸ÈGÐ[`ô  oC÷  oKñ  oKÐ&ó  Lð  	Lr‡   c                 óJ   — | j                  ||||t        j                  ¬«      S )a'  Get historical futures klines generator from Binance

        :param symbol: Name of symbol pair e.g. BNBBTC
        :type symbol: str
        :param interval: Binance Kline interval
        :type interval: str
        :param start_str: Start date string in UTC format or timestamp in milliseconds
        :type start_str: str|int
        :param end_str: optional - end date string in UTC format or timestamp in milliseconds (default will fetch everything up to now)
        :type end_str: str|int

        :return: generator of OHLCV values

        ©rê  rØ  ©rû  r   rÛ  ©r„   r¢  rã  rÏ  rê  s        r…   Ú#futures_historical_klines_generatorz*Client.futures_historical_klines_generatorW  s6   € ð  ×0Ñ0°¸À9ÐV]Ôk÷  lHñ  lHÐ0ó  Ið  	Ir‡   c                 ó*   — | j                  dd|¬«      S )z|Get Mark Price and Funding Rate

        https://binance-docs.github.io/apidocs/futures/en/#mark-price-market_data

        rð   ÚpremiumIndexrº  r³  r¶  s     r…   Úfutures_mark_pricezClient.futures_mark_pricei  ó   € ð ×(Ñ(¨°ÀVÐ(ÓLÐLr‡   c                 ó*   — | j                  dd|¬«      S )zƒGet funding rate history

        https://binance-docs.github.io/apidocs/futures/en/#get-funding-rate-history-market_data

        rð   ÚfundingRaterº  r³  r¶  s     r…   Úfutures_funding_ratezClient.futures_funding_rateq  ó   € ð ×(Ñ(¨°ÀFÐ(ÓKÐKr‡   c                 ó*   — | j                  dd|¬«      S )z¼Get present long to short ratio for top accounts of a specific symbol.

        https://binance-docs.github.io/apidocs/futures/en/#top-trader-long-short-ratio-accounts-market_data
        rð   ÚtopLongShortAccountRatiorº  ©rr  r¶  s     r…   Ú#futures_top_longshort_account_ratioz*Client.futures_top_longshort_account_ratioy  s   € ð
 ×-Ñ-¨eÐ5OÐV\Ð-Ó]Ð]r‡   c                 ó*   — | j                  dd|¬«      S )z²Get present long to short ratio for top positions of a specific symbol.

        https://binance-docs.github.io/apidocs/futures/en/#top-trader-long-short-ratio-positions
        rð   ÚtopLongShortPositionRatiorº  rÝ  r¶  s     r…   Ú$futures_top_longshort_position_ratioz+Client.futures_top_longshort_position_ratio€  s   € ð
 ×-Ñ-¨eÐ5PÐW]Ð-Ó^Ð^r‡   c                 ó*   — | j                  dd|¬«      S )z’Get present global long to short ratio of a specific symbol.

        https://binance-docs.github.io/apidocs/futures/en/#long-short-ratio
        rð   ÚglobalLongShortAccountRatiorº  rÝ  r¶  s     r…   Úfutures_global_longshort_ratioz%Client.futures_global_longshort_ratio‡  s   € ð
 ×-Ñ-¨eÐ5RÐY_Ð-Ó`Ð`r‡   c                 ó*   — | j                  dd|¬«      S )z¥24 hour rolling window price change statistics.

        https://binance-docs.github.io/apidocs/futures/en/#24hr-ticker-price-change-statistics-market_data

        rð   r  rº  r³  r¶  s     r…   Úfutures_tickerzClient.futures_tickerŽ  rÚ  r‡   c                 ó*   — | j                  dd|¬«      S )z‹Latest price for a symbol or symbols.

        https://binance-docs.github.io/apidocs/futures/en/#symbol-price-ticker-market_data

        rð   r­  rº  r³  r¶  s     r…   Úfutures_symbol_tickerzClient.futures_symbol_ticker–  rÖ  r‡   c                 ó*   — | j                  dd|¬«      S )z¤Best price/qty on the order book for a symbol or symbols.

        https://binance-docs.github.io/apidocs/futures/en/#symbol-order-book-ticker-market_data

        rð   r°  rº  r³  r¶  s     r…   Úfutures_orderbook_tickerzClient.futures_orderbook_tickerž  s   € ð ×(Ñ(¨Ð0CÈ&Ð(ÓQÐQr‡   c                 ó,   — | j                  ddd|¬«      S )z‡Get all liquidation orders

        https://binance-docs.github.io/apidocs/futures/en/#get-all-liquidation-orders-market_data

        rð   ÚforceOrdersTrq  r³  r¶  s     r…   Úfutures_liquidation_ordersz!Client.futures_liquidation_orders¦  ó   € ð ×(Ñ(¨°ÀdÐQWÐ(ÓXÐXr‡   c                 ó,   — | j                  ddd|¬«      S )aZ  Get Position ADL Quantile Estimate

        https://binance-docs.github.io/apidocs/futures/en/#futures-trading-quantitative-rules-indicators-user_data

        :param symbol: optional
        :type symbol: str

        :returns: API response

        .. code-block:: python

            {
                "indicators": { // indicator: quantitative rules indicators, value: user's indicators value, triggerValue: trigger indicator value threshold of quantitative rules.
                    "BTCUSDT": [
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "UFR",  // Unfilled Ratio (UFR)
                            "value": 0.05,  // Current value
                            "triggerValue": 0.995  // Trigger value
                        },
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "IFER",  // IOC/FOK Expiration Ratio (IFER)
                            "value": 0.99,  // Current value
                            "triggerValue": 0.99  // Trigger value
                        },
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "GCR",  // GTC Cancellation Ratio (GCR)
                            "value": 0.99,  // Current value
                            "triggerValue": 0.99  // Trigger value
                        },
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "DR",  // Dust Ratio (DR)
                            "value": 0.99,  // Current value
                            "triggerValue": 0.99  // Trigger value
                        }
                    ],
                    "ETHUSDT": [
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "UFR",
                            "value": 0.05,
                            "triggerValue": 0.995
                        },
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "IFER",
                            "value": 0.99,
                            "triggerValue": 0.99
                        },
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "GCR",
                            "value": 0.99,
                            "triggerValue": 0.99
                        }
                        {
                            "isLocked": true,
                            "plannedRecoverTime": 1545741270000,
                            "indicator": "DR",
                            "value": 0.99,
                            "triggerValue": 0.99
                        }
                    ]
                },
                "updateTime": 1545741270000
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   ÚapiTradingStatusTrq  r³  r¶  s     r…   Úfutures_api_trading_statusz!Client.futures_api_trading_status®  s!   € ðb ×(Ñ(¨Ð0BÈ4ÐV\Ð(Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )aò  Get Futures commission rate

        https://binance-docs.github.io/apidocs/futures/en/#user-commission-rate-user_data

        :param symbol: required
        :type symbol: str

        :returns: API response

        .. code-block:: python

            {
                "symbol": "BTCUSDT",
                "makerCommissionRate": "0.0002",  // 0.02%
                "takerCommissionRate": "0.0004"   // 0.04%
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   ÚcommissionRateTrq  r³  r¶  s     r…   Úfutures_comission_ratezClient.futures_comission_rate  s    € ð* ×(Ñ(¨Ð0@ÈÐTZÐ(Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )z“Get Position ADL Quantile Estimate

        https://binance-docs.github.io/apidocs/futures/en/#position-adl-quantile-estimation-user_data

        rð   ÚadlQuantileTrq  r³  r¶  s     r…   Úfutures_adl_quantile_estimatez$Client.futures_adl_quantile_estimate  rî  r‡   c                 ó*   — | j                  dd|¬«      S )zƒGet present open interest of a specific symbol.

        https://binance-docs.github.io/apidocs/futures/en/#open-interest

        rð   ÚopenInterestrº  r³  r¶  s     r…   Úfutures_open_interestzClient.futures_open_interest   rÖ  r‡   c                 ó*   — | j                  dd|¬«      S )z^Get index_info

        https://binance-docs.github.io/apidocs/futures/en/#indexInfo

        rð   Ú	indexInforº  r³  r¶  s     r…   Úfutures_index_infozClient.futures_index_info(  s   € ð ×(Ñ(¨°À&Ð(ÓIÐIr‡   c                 ó*   — | j                  dd|¬«      S )z‘Get open interest statistics of a specific symbol.

        https://binance-docs.github.io/apidocs/futures/en/#open-interest-statistics

        rð   ÚopenInterestHistrº  rÝ  r¶  s     r…   Úfutures_open_interest_histz!Client.futures_open_interest_hist0  ó   € ð ×-Ñ-¨eÐ5GÈfÐ-ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )z�Notional and Leverage Brackets

        https://binance-docs.github.io/apidocs/futures/en/#notional-and-leverage-brackets-market_data

        rð   ÚleverageBracketTrº  r³  r¶  s     r…   Úfutures_leverage_bracketzClient.futures_leverage_bracket8  s   € ð ×(Ñ(¨Ð0AÀ4ÈfÐ(ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )zœExecute transfer between spot account and futures account.

        https://binance-docs.github.io/apidocs/futures/en/#new-future-account-transfer

        rŒ  úfutures/transferTrº  rX  r¶  s     r…   Úfutures_account_transferzClient.futures_account_transfer@  s   € ð ×'Ñ'¨Ð0BÀDÈvÐ'ÓVÐVr‡   c                 ó,   — | j                  ddd|¬«      S )z§Get future account transaction history list

        https://binance-docs.github.io/apidocs/futures/en/#get-future-account-transaction-history-list-user_data

        rð   r  Trº  rX  r¶  s     r…   Útransfer_historyzClient.transfer_historyH  s   € ð ×'Ñ'¨Ð/AÀ4ÈfÐ'ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S ©Nrð   zfutures/loan/borrow/historyTrº  rX  r¶  s     r…   Úfutures_loan_borrow_historyz"Client.futures_loan_borrow_historyP  s   € Ø×'Ñ'¨Ð/LÈdÐY_Ð'Ó`Ð`r‡   c                 ó,   — | j                  ddd|¬«      S ©Nrð   zfutures/loan/repay/historyTrº  rX  r¶  s     r…   Úfutures_loan_repay_historyz!Client.futures_loan_repay_historyS  s   € Ø×'Ñ'¨Ð/KÈTÐX^Ð'Ó_Ð_r‡   c                 ó.   — | j                  ddd|d¬«      S ©Nrð   zfutures/loan/walletTr¤   r±  rX  r¶  s     r…   Úfutures_loan_walletzClient.futures_loan_walletV  s!   € Ø×'Ñ'¨Ð/DÀdÐQWÐabÐ'ÓcÐcr‡   c                 ó,   — | j                  ddd|¬«      S ©Nrð   z%futures/loan/adjustCollateral/historyTrº  rX  r¶  s     r…   Ú'futures_cross_collateral_adjust_historyz.Client.futures_cross_collateral_adjust_historyY  s   € Ø×'Ñ'¨Ð/VÐX\ÐciÐ'ÓjÐjr‡   c                 ó,   — | j                  ddd|¬«      S ©Nrð   zfutures/loan/liquidationHistoryTrº  rX  r¶  s     r…   Ú,futures_cross_collateral_liquidation_historyz3Client.futures_cross_collateral_liquidation_history\  s   € Ø×'Ñ'¨Ð/PÐRVÐ]cÐ'ÓdÐdr‡   c                 ó,   — | j                  ddd|¬«      S ©Nrð   zfutures/loan/interestHistoryTrº  rX  r¶  s     r…   Úfutures_loan_interest_historyz$Client.futures_loan_interest_history_  s   € Ø×'Ñ'¨Ð/MÈtÐZ`Ð'ÓaÐar‡   c                 ó,   — | j                  ddd|¬«      S )zjSend in a new order.

        https://binance-docs.github.io/apidocs/futures/en/#new-order-trade

        rŒ  r  Trº  r³  r¶  s     r…   Úfutures_create_orderzClient.futures_create_orderb  s   € ð ×(Ñ(¨°¸$ÀVÐ(ÓLÐLr‡   c                 óv   — t        |«      }|j                  dd«      }|dd |d<   | j                  ddd|¬«      S )	a,  Send in new orders.

        https://binance-docs.github.io/apidocs/futures/en/#place-multiple-orders-trade

        To avoid modifying the existing signature generation and parameter order logic,
        the url encoding is done on the special query param, batchOrders, in the early stage.

        ú%27ú%22é   NÚbatchOrdersrŒ  Trº  ©r   Úreplacern  ©r„   ré   rÃ   s      r…   Úfutures_place_batch_orderz Client.futures_place_batch_orderj  sK   € ô ! Ó(ˆØ#×+Ñ+¨E°5Ó9ˆØ ,¨R¨SÐ 1ˆˆ}ÑØ×(Ñ(¨°ÀÈ6Ð(ÓRÐRr‡   c                 ó,   — | j                  ddd|¬«      S )ztCheck an order's status.

        https://binance-docs.github.io/apidocs/futures/en/#query-order-user_data

        rð   r  Trº  r³  r¶  s     r…   Úfutures_get_orderzClient.futures_get_orderx  s   € ð ×(Ñ(¨°¸ÀFÐ(ÓKÐKr‡   c                 ó,   — | j                  ddd|¬«      S )z„Get all open orders on a symbol.

        https://binance-docs.github.io/apidocs/futures/en/#current-open-orders-user_data

        rð   r:  Trº  r³  r¶  s     r…   Úfutures_get_open_orderszClient.futures_get_open_orders€  ó   € ð ×(Ñ(¨°¸dÈÐ(ÓPÐPr‡   c                 ó,   — | j                  ddd|¬«      S )z—Get all futures account orders; active, canceled, or filled.

        https://binance-docs.github.io/apidocs/futures/en/#all-orders-user_data

        rð   r4  Trº  r³  r¶  s     r…   Úfutures_get_all_orderszClient.futures_get_all_ordersˆ  s   € ð ×(Ñ(¨°¸TÈÐ(ÓOÐOr‡   c                 ó,   — | j                  ddd|¬«      S )zxCancel an active futures order.

        https://binance-docs.github.io/apidocs/futures/en/#cancel-order-trade

        r”  r  Trº  r³  r¶  s     r…   Úfutures_cancel_orderzClient.futures_cancel_order�  s   € ð ×(Ñ(¨°7¸DÀvÐ(ÓNÐNr‡   c                 ó,   — | j                  ddd|¬«      S )z�Cancel all open futures orders

        https://binance-docs.github.io/apidocs/futures/en/#cancel-all-open-orders-trade

        r”  ÚallOpenOrdersTrº  r³  r¶  s     r…   Úfutures_cancel_all_open_ordersz%Client.futures_cancel_all_open_orders˜  s   € ð ×(Ñ(¨°?ÀDÈvÐ(ÓVÐVr‡   c                 ó,   — | j                  ddd|¬«      S )z�Cancel multiple futures orders

        https://binance-docs.github.io/apidocs/futures/en/#cancel-multiple-orders-trade

        r”  r"  Trº  r³  r¶  s     r…   Úfutures_cancel_orderszClient.futures_cancel_orders   s   € ð ×(Ñ(¨°=À$ÈVÐ(ÓTÐTr‡   c                 ó.   — | j                  dddd|¬«      S )z‚Get futures account balance

        https://binance-docs.github.io/apidocs/futures/en/#future-account-balance-user_data

        rð   ÚbalanceTr¤   rº  r³  r¶  s     r…   Úfutures_account_balancezClient.futures_account_balance¨  ó    € ð ×(Ñ(¨°	¸4ÀÈÐ(ÓPÐPr‡   c                 ó.   — | j                  dddd|¬«      S )z„Get current account information.

        https://binance-docs.github.io/apidocs/futures/en/#account-information-user_data

        rð   r@  Tr¤   rº  r³  r¶  s     r…   Úfutures_accountzClient.futures_account°  r8  r‡   c                 ó,   — | j                  ddd|¬«      S )zœChange user's initial leverage of specific symbol market

        https://binance-docs.github.io/apidocs/futures/en/#change-initial-leverage-trade

        rŒ  ÚleverageTrº  r³  r¶  s     r…   Úfutures_change_leveragezClient.futures_change_leverage¸  s   € ð ×(Ñ(¨°¸TÈÐ(ÓOÐOr‡   c                 ó,   — | j                  ddd|¬«      S )z‚Change the margin type for a symbol

        https://binance-docs.github.io/apidocs/futures/en/#change-margin-type-trade

        rŒ  Ú
marginTypeTrº  r³  r¶  s     r…   Úfutures_change_margin_typez!Client.futures_change_margin_typeÀ  s   € ð ×(Ñ(¨°¸tÈ&Ð(ÓQÐQr‡   c                 ó,   — | j                  ddd|¬«      S )z“Change the position margin for a symbol

        https://binance-docs.github.io/apidocs/futures/en/#modify-isolated-position-margin-trade

        rŒ  ÚpositionMarginTrº  r³  r¶  s     r…   Úfutures_change_position_marginz%Client.futures_change_position_marginÈ  s   € ð ×(Ñ(¨Ð1AÀ4ÈfÐ(ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )z�Get position margin change history

        https://binance-docs.github.io/apidocs/futures/en/#get-postion-margin-change-history-trade

        rð   úpositionMargin/historyTrº  r³  r¶  s     r…   Úfutures_position_margin_historyz&Client.futures_position_margin_historyÐ  s    € ð ×(Ñ(¨Ð0HÈ$ÐU[Ð(Ó\Ð\r‡   c                 ó.   — | j                  dddd|¬«      S )z}Get position information

        https://binance-docs.github.io/apidocs/futures/en/#position-information-user_data

        rð   ÚpositionRiskTr¤   rº  r³  r¶  s     r…   Úfutures_position_informationz#Client.futures_position_informationØ  s    € ð ×(Ñ(¨°ÀÀaÈfÐ(ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )z—Get trades for the authenticated account and symbol.

        https://binance-docs.github.io/apidocs/futures/en/#account-trade-list-user_data

        rð   Ú
userTradesTrº  r³  r¶  s     r…   Úfutures_account_tradeszClient.futures_account_tradesà  r+  r‡   c                 ó,   — | j                  ddd|¬«      S )z�Get income history for authenticated account

        https://binance-docs.github.io/apidocs/futures/en/#get-income-history-user_data

        rð   ÚincomeTrº  r³  r¶  s     r…   Úfutures_income_historyzClient.futures_income_historyè  s   € ð ×(Ñ(¨°¸$ÀVÐ(ÓLÐLr‡   c                 ó,   — | j                  ddd|¬«      S )z�Change position mode for authenticated account

        https://binance-docs.github.io/apidocs/futures/en/#change-position-mode-trade

        rŒ  úpositionSide/dualTrº  r³  r¶  s     r…   Úfutures_change_position_modez#Client.futures_change_position_modeð  s    € ð ×(Ñ(¨Ð1DÀdÐQWÐ(ÓXÐXr‡   c                 ó,   — | j                  ddd|¬«      S )z•Get position mode for authenticated account

        https://binance-docs.github.io/apidocs/futures/en/#get-current-position-mode-user_data

        rð   rQ  Trº  r³  r¶  s     r…   Úfutures_get_position_modez Client.futures_get_position_modeø  s    € ð ×(Ñ(¨Ð0CÀTÐPVÐ(ÓWÐWr‡   ÚmultiAssetsMarginc                 ó<   — d|rdndi}| j                  ddd|¬«      S )z½Change user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol

        https://binance-docs.github.io/apidocs/futures/en/#change-multi-assets-mode-trade

        rU  ÚtrueÚfalserŒ  Trº  r³  ©r„   rU  ré   s      r…   Ú futures_change_multi_assets_modez'Client.futures_change_multi_assets_mode   s3   € ð  Ñ+<¡À'ð
ˆð ×(Ñ(¨Ð1DÀdÐQWÐ(ÓXÐXr‡   c                 ó,   — | j                  dddi ¬«      S )zÃGet user's Multi-Assets mode (Multi-Assets Mode or Single-Asset Mode) on Every symbol

        https://binance-docs.github.io/apidocs/futures/en/#get-current-multi-assets-mode-user_data

        rð   rU  Trº  r³  r�   s    r…   Úfutures_get_multi_assets_modez$Client.futures_get_multi_assets_mode  s    € ð ×(Ñ(¨Ð0CÀTÐPRÐ(ÓSÐSr‡   c                 ó6   — | j                  dddi ¬«      }|d   S ©NrŒ  r—  Frq  r³  r˜  s     r…   Úfutures_stream_get_listen_keyz$Client.futures_stream_get_listen_key  s'   € Ø×'Ñ'¨°ÀEÐPRÐ'ÓSˆØ�;ÑÐr‡   c                 ó4   — d|i}| j                  ddd|¬«      S ©Nr—  r�  Frq  r³  r›  s      r…   Úfutures_stream_keepalivezClient.futures_stream_keepalive  s+   € à˜ð
ˆð ×(Ñ(¨°ÀEÐPVÐ(ÓWÐWr‡   c                 ó4   — d|i}| j                  ddd|¬«      S ©Nr—  r”  Frq  r³  r›  s      r…   Úfutures_stream_closezClient.futures_stream_close  s+   € à˜ð
ˆð ×(Ñ(¨°;ÀuÐSYÐ(ÓZÐZr‡   c                 ó&   — | j                  dd«      S )zzTest connectivity to the Rest API

        https://binance-docs.github.io/apidocs/delivery/en/#test-connectivity

        rð   rV  ©rw  r�   s    r…   Úfutures_coin_pingzClient.futures_coin_ping$  ó   € ð ×-Ñ-¨e°VÓ<Ð<r‡   c                 ó&   — | j                  dd«      S )z›Test connectivity to the Rest API and get the current server time.

        https://binance-docs.github.io/apidocs/delivery/en/#check-server-time

        rð   rö   rg  r�   s    r…   Úfutures_coin_timezClient.futures_coin_time,  ri  r‡   c                 ó&   — | j                  dd«      S )z‘Current exchange trading rules and symbol information

        https://binance-docs.github.io/apidocs/delivery/en/#exchange-information

        rð   r�  rg  r�   s    r…   Úfutures_coin_exchange_infoz!Client.futures_coin_exchange_info4  s   € ð ×-Ñ-¨e°^ÓDÐDr‡   c                 ó*   — | j                  dd|¬«      S )zsGet the Order Book for the market

        https://binance-docs.github.io/apidocs/delivery/en/#order-book

        rð   rµ  rº  rg  r¶  s     r…   Úfutures_coin_order_bookzClient.futures_coin_order_book<  s   € ð ×-Ñ-¨e°WÀ6Ð-ÓJÐJr‡   c                 ó*   — | j                  dd|¬«      S )z}Get recent trades (up to last 500).

        https://binance-docs.github.io/apidocs/delivery/en/#recent-trades-list

        rð   r¹  rº  rg  r¶  s     r…   Úfutures_coin_recent_tradesz!Client.futures_coin_recent_tradesD  ó   € ð ×-Ñ-¨e°XÀFÐ-ÓKÐKr‡   c                 ó*   — | j                  dd|¬«      S )zˆGet older market historical trades.

        https://binance-docs.github.io/apidocs/delivery/en/#old-trades-lookup-market_data

        rð   r¾  rº  rg  r¶  s     r…   Úfutures_coin_historical_tradesz%Client.futures_coin_historical_tradesL  r  r‡   c                 ó*   — | j                  dd|¬«      S )zûGet compressed, aggregate trades. Trades that fill at the time, from the same order, with the same
        price will have the quantity aggregated.

        https://binance-docs.github.io/apidocs/delivery/en/#compressed-aggregate-trades-list

        rð   rÁ  rº  rg  r¶  s     r…   Úfutures_coin_aggregate_tradesz$Client.futures_coin_aggregate_tradesT  s   € ð ×-Ñ-¨e°[ÀvÐ-ÓNÐNr‡   c                 ó*   — | j                  dd|¬«      S )zµKline/candlestick bars for a symbol. Klines are uniquely identified by their open time.

        https://binance-docs.github.io/apidocs/delivery/en/#kline-candlestick-data

        rð   rÖ  rº  rg  r¶  s     r…   rÞ  zClient.futures_coin_klines]  rr  r‡   c                 ó*   — | j                  dd|¬«      S )zÙKline/candlestick bars for a specific contract type. Klines are uniquely identified by their open time.

        https://binance-docs.github.io/apidocs/delivery/en/#continuous-contract-kline-candlestick-data

        rð   rÇ  rº  rg  r¶  s     r…   Úfutures_coin_continous_klinesz$Client.futures_coin_continous_klinese  r  r‡   c                 ó*   — | j                  dd|¬«      S )z Kline/candlestick bars for the index price of a pair..

        https://binance-docs.github.io/apidocs/delivery/en/#index-price-kline-candlestick-data

        rð   ÚindexPriceKlinesrº  rg  r¶  s     r…   Úfutures_coin_index_price_klinesz&Client.futures_coin_index_price_klinesm  r  r‡   c                 ó*   — | j                  dd|¬«      S )zŸKline/candlestick bars for the index price of a pair..

        https://binance-docs.github.io/apidocs/delivery/en/#mark-price-kline-candlestick-data

        rð   ÚmarkPriceKlinesrº  rg  r¶  s     r…   Úfutures_coin_mark_price_klinesz%Client.futures_coin_mark_price_klinesu  s   € ð ×-Ñ-¨eÐ5FÈVÐ-ÓTÐTr‡   c                 ó*   — | j                  dd|¬«      S )z�Get Mark Price and Funding Rate

        https://binance-docs.github.io/apidocs/delivery/en/#index-price-and-mark-price

        rð   rÔ  rº  rg  r¶  s     r…   Úfutures_coin_mark_pricezClient.futures_coin_mark_price}  ó   € ð ×-Ñ-¨e°^È&Ð-ÓQÐQr‡   c                 ó*   — | j                  dd|¬«      S )z�Get funding rate history

        https://binance-docs.github.io/apidocs/delivery/en/#get-funding-rate-history-of-perpetual-futures

        rð   rØ  rº  rg  r¶  s     r…   Úfutures_coin_funding_ratez Client.futures_coin_funding_rate…  ó   € ð ×-Ñ-¨e°]ÈÐ-ÓPÐPr‡   c                 ó*   — | j                  dd|¬«      S )zš24 hour rolling window price change statistics.

        https://binance-docs.github.io/apidocs/delivery/en/#24hr-ticker-price-change-statistics

        rð   r  rº  rg  r¶  s     r…   Úfutures_coin_tickerzClient.futures_coin_ticker�  r…  r‡   c                 ó*   — | j                  dd|¬«      S )z€Latest price for a symbol or symbols.

        https://binance-docs.github.io/apidocs/delivery/en/#symbol-price-ticker

        rð   r­  rº  rg  r¶  s     r…   Úfutures_coin_symbol_tickerz!Client.futures_coin_symbol_ticker•  r‚  r‡   c                 ó*   — | j                  dd|¬«      S )z™Best price/qty on the order book for a symbol or symbols.

        https://binance-docs.github.io/apidocs/delivery/en/#symbol-order-book-ticker

        rð   r°  rº  rg  r¶  s     r…   Úfutures_coin_orderbook_tickerz$Client.futures_coin_orderbook_ticker�  s   € ð ×-Ñ-¨eÐ5HÈvÐ-ÓVÐVr‡   c                 ó,   — | j                  ddd|¬«      S )z‚Get all liquidation orders

        https://binance-docs.github.io/apidocs/delivery/en/#user-39-s-force-orders-user_data

        rð   rì  Trq  rg  r¶  s     r…   Úfutures_coin_liquidation_ordersz&Client.futures_coin_liquidation_orders¥  s   € ð ×-Ñ-¨e°]È4ÐV\Ð-Ó]Ð]r‡   c                 ó*   — | j                  dd|¬«      S )z„Get present open interest of a specific symbol.

        https://binance-docs.github.io/apidocs/delivery/en/#open-interest

        rð   rù  rº  rg  r¶  s     r…   Úfutures_coin_open_interestz!Client.futures_coin_open_interest­  r‚  r‡   c                 ó*   — | j                  dd|¬«      S )zžGet open interest statistics of a specific symbol.

        https://binance-docs.github.io/apidocs/delivery/en/#open-interest-statistics-market-data

        rð   rÿ  rº  ©rz  r¶  s     r…   Úfutures_coin_open_interest_histz&Client.futures_coin_open_interest_histµ  s   € ð ×2Ñ2°5Ð:LÐSYÐ2ÓZÐZr‡   c                 ó.   — | j                  dddd|¬«      S )z‰Notional and Leverage Brackets

        https://binance-docs.github.io/apidocs/delivery/en/#notional-bracket-for-pair-user_data

        rð   r  r¤   T©rš   r™   rÓ   rg  r¶  s     r…   Úfutures_coin_leverage_bracketz$Client.futures_coin_leverage_bracket½  s(   € ð ×-Ñ-ØÐ$¨a¸À6ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )zŽGet future account transaction history list

        https://binance-docs.github.io/apidocs/delivery/en/#new-future-account-transfer

        rð   rp  Trº  rX  r¶  s     r…   Únew_transfer_historyzClient.new_transfer_historyÇ  s   € ð ×'Ñ'¨Ð/?ÀÈFÐ'ÓSÐSr‡   c                 ó,   — | j                  ddd|¬«      S ©NrŒ  zasset/get-funding-assetTrº  rX  r¶  s     r…   Úfunding_walletzClient.funding_walletÏ  s   € Ø×'Ñ'¨Ð0IÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó.   — | j                  ddd|d¬«      S ©NrŒ  zasset/getUserAssetTr¥   r±  rX  r¶  s     r…   Úget_user_assetzClient.get_user_assetÒ  s!   € Ø×'Ñ'¨Ð0DÀdÐQWÐabÐ'ÓcÐcr‡   c                 ó,   — | j                  ddd|¬«      S )z™Unviversal transfer api accross different binance account types

        https://binance-docs.github.io/apidocs/spot/en/#user-universal-transfer
        rŒ  rp  Trq  rX  r¶  s     r…   Úuniversal_transferzClient.universal_transferÕ  s&   € ð
 ×'Ñ'ØÐ$¨T¸ð (ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )zkSend in a new order.

        https://binance-docs.github.io/apidocs/delivery/en/#new-order-trade

        rŒ  r  Trº  rg  r¶  s     r…   Úfutures_coin_create_orderz Client.futures_coin_create_orderÞ  s   € ð ×-Ñ-¨f°g¸tÈ&Ð-ÓQÐQr‡   c                 óv   — t        |«      }|j                  dd«      }|dd |d<   | j                  ddd|¬«      S )	a-  Send in new orders.

        https://binance-docs.github.io/apidocs/delivery/en/#place-multiple-orders-trade

        To avoid modifying the existing signature generation and parameter order logic,
        the url encoding is done on the special query param, batchOrders, in the early stage.

        r  r   r!  Nr"  rŒ  Trº  ©r   r$  rw  r%  s      r…   Úfutures_coin_place_batch_orderz%Client.futures_coin_place_batch_orderæ  sL   € ô ! Ó(ˆØ#×+Ñ+¨E°5Ó9ˆØ ,¨R¨SÐ 1ˆˆ}Ñà×-Ñ-¨f°mÀTÐPVÐ-ÓWÐWr‡   c                 ó,   — | j                  ddd|¬«      S )zuCheck an order's status.

        https://binance-docs.github.io/apidocs/delivery/en/#query-order-user_data

        rð   r  Trº  rg  r¶  s     r…   Úfutures_coin_get_orderzClient.futures_coin_get_orderõ  s   € ð ×-Ñ-¨e°W¸dÈÐ-ÓPÐPr‡   c                 ó,   — | j                  ddd|¬«      S )z‰Get all open orders on a symbol.

        https://binance-docs.github.io/apidocs/delivery/en/#current-all-open-orders-user_data

        rð   r:  Trº  rg  r¶  s     r…   Úfutures_coin_get_open_ordersz#Client.futures_coin_get_open_ordersý  ó   € ð ×-Ñ-¨e°\À4ÈfÐ-ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )z˜Get all futures account orders; active, canceled, or filled.

        https://binance-docs.github.io/apidocs/delivery/en/#all-orders-user_data

        rð   r4  Trq  rg  r¶  s     r…   Úfutures_coin_get_all_ordersz"Client.futures_coin_get_all_orders  s%   € ð ×-Ñ-Ø�; t°&ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )zyCancel an active futures order.

        https://binance-docs.github.io/apidocs/delivery/en/#cancel-order-trade

        r”  r  Trq  rg  r¶  s     r…   Úfutures_coin_cancel_orderz Client.futures_coin_cancel_order  s%   € ð ×-Ñ-Ø�g d°ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )z‚Cancel all open futures orders

        https://binance-docs.github.io/apidocs/delivery/en/#cancel-all-open-orders-trade

        r”  r1  Trq  rg  r¶  s     r…   Ú#futures_coin_cancel_all_open_ordersz*Client.futures_coin_cancel_all_open_orders  s%   € ð ×-Ñ-Ø�o¨d¸ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )z‚Cancel multiple futures orders

        https://binance-docs.github.io/apidocs/delivery/en/#cancel-multiple-orders-trade

        r”  r"  Trº  rg  r¶  s     r…   Úfutures_coin_cancel_ordersz!Client.futures_coin_cancel_orders#  s%   € ð ×-Ñ-Ø�m T°ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )z„Get futures account balance

        https://binance-docs.github.io/apidocs/delivery/en/#futures-account-balance-user_data

        rð   r6  Trq  rg  r¶  s     r…   Úfutures_coin_account_balancez#Client.futures_coin_account_balance-  ó%   € ð ×-Ñ-Ø�9 T°ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )z…Get current account information.

        https://binance-docs.github.io/apidocs/delivery/en/#account-information-user_data

        rð   r@  Trq  rg  r¶  s     r…   Úfutures_coin_accountzClient.futures_coin_account7  r´  r‡   c                 ó,   — | j                  ddd|¬«      S )z�Change user's initial leverage of specific symbol market

        https://binance-docs.github.io/apidocs/delivery/en/#change-initial-leverage-trade

        rŒ  r<  Trq  rg  r¶  s     r…   Úfutures_coin_change_leveragez#Client.futures_coin_change_leverageA  s%   € ð ×-Ñ-Ø�J t°&ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )zƒChange the margin type for a symbol

        https://binance-docs.github.io/apidocs/delivery/en/#change-margin-type-trade

        rŒ  r?  Trq  rg  r¶  s     r…   Úfutures_coin_change_margin_typez&Client.futures_coin_change_margin_typeK  s%   € ð ×-Ñ-Ø�L¨°Fð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )z”Change the position margin for a symbol

        https://binance-docs.github.io/apidocs/delivery/en/#modify-isolated-position-margin-trade

        rŒ  rB  Trº  rg  r¶  s     r…   Ú#futures_coin_change_position_marginz*Client.futures_coin_change_position_marginU  s&   € ð ×-Ñ-ØÐ$ d°ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )z’Get position margin change history

        https://binance-docs.github.io/apidocs/delivery/en/#get-position-margin-change-history-trade

        rð   rE  Trº  rg  r¶  s     r…   Ú$futures_coin_position_margin_historyz+Client.futures_coin_position_margin_history_  s&   € ð ×-Ñ-ØÐ+¨T¸ð .ó 
ð 	
r‡   c                 ó,   — | j                  ddd|¬«      S )z~Get position information

        https://binance-docs.github.io/apidocs/delivery/en/#position-information-user_data

        rð   rH  Trº  rg  r¶  s     r…   Ú!futures_coin_position_informationz(Client.futures_coin_position_informationi  s   € ð ×-Ñ-¨e°^ÀTÐPVÐ-ÓWÐWr‡   c                 ó,   — | j                  ddd|¬«      S )z˜Get trades for the authenticated account and symbol.

        https://binance-docs.github.io/apidocs/delivery/en/#account-trade-list-user_data

        rð   rK  Trº  rg  r¶  s     r…   Úfutures_coin_account_tradesz"Client.futures_coin_account_tradesq  r©  r‡   c                 ó,   — | j                  ddd|¬«      S )z�Get income history for authenticated account

        https://binance-docs.github.io/apidocs/delivery/en/#get-income-history-user_data

        rð   rN  Trº  rg  r¶  s     r…   Úfutures_coin_income_historyz"Client.futures_coin_income_historyy  s   € ð ×-Ñ-¨e°X¸tÈ&Ð-ÓQÐQr‡   c                 ó,   — | j                  ddd|¬«      S )zªChange user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol

        https://binance-docs.github.io/apidocs/delivery/en/#change-position-mode-trade
        rŒ  rQ  Trº  rg  r¶  s     r…   Ú!futures_coin_change_position_modez(Client.futures_coin_change_position_mode�  s    € ð
 ×-Ñ-¨fÐ6IÈ4ÐV\Ð-Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )z±Get user's position mode (Hedge Mode or One-way Mode ) on EVERY symbol

        https://binance-docs.github.io/apidocs/delivery/en/#get-current-position-mode-user_data

        rð   rQ  Trº  rg  r¶  s     r…   Úfutures_coin_get_position_modez%Client.futures_coin_get_position_modeˆ  s    € ð ×-Ñ-¨eÐ5HÈ$ÐU[Ð-Ó\Ð\r‡   c                 ó6   — | j                  dddi ¬«      }|d   S r^  rg  r˜  s     r…   Ú"futures_coin_stream_get_listen_keyz)Client.futures_coin_stream_get_listen_key�  s'   € Ø×,Ñ,¨V°[ÈÐUWÐ,ÓXˆØ�;ÑÐr‡   c                 ó4   — d|i}| j                  ddd|¬«      S ra  rg  r›  s      r…   Úfutures_coin_stream_keepalivez$Client.futures_coin_stream_keepalive”  s+   € à˜ð
ˆð ×-Ñ-¨e°[ÈÐU[Ð-Ó\Ð\r‡   c                 ó4   — d|i}| j                  ddd|¬«      S rd  rg  r›  s      r…   Úfutures_coin_stream_closez Client.futures_coin_stream_closeš  s+   € à˜ð
ˆð ×-Ñ-¨h¸ÈEÐX^Ð-Ó_Ð_r‡   c                 ó,   — | j                  ddd|¬«      S )a  Get information of coins (available for deposit and withdraw) for user.

        https://binance-docs.github.io/apidocs/spot/en/#all-coins-39-information-user_data

        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
                "coin": "BTC",
                "depositAllEnable": true,
                "withdrawAllEnable": true,
                "name": "Bitcoin",
                "free": "0",
                "locked": "0",
                "freeze": "0",
                "withdrawing": "0",
                "ipoing": "0",
                "ipoable": "0",
                "storage": "0",
                "isLegalMoney": false,
                "trading": true,
                "networkList": [
                    {
                        "network": "BNB",
                        "coin": "BTC",
                        "withdrawIntegerMultiple": "0.00000001",
                        "isDefault": false,
                        "depositEnable": true,
                        "withdrawEnable": true,
                        "depositDesc": "",
                        "withdrawDesc": "",
                        "specialTips": "Both a MEMO and an Address are required to successfully deposit your BEP2-BTCB tokens to Binance.",
                        "name": "BEP2",
                        "resetAddressStatus": false,
                        "addressRegex": "^(bnb1)[0-9a-z]{38}$",
                        "memoRegex": "^[0-9A-Za-z-_]{1,120}$",
                        "withdrawFee": "0.0000026",
                        "withdrawMin": "0.0000052",
                        "withdrawMax": "0",
                        "minConfirm": 1,
                        "unLockConfirm": 0
                    },
                    {
                        "network": "BTC",
                        "coin": "BTC",
                        "withdrawIntegerMultiple": "0.00000001",
                        "isDefault": true,
                        "depositEnable": true,
                        "withdrawEnable": true,
                        "depositDesc": "",
                        "withdrawDesc": "",
                        "specialTips": "",
                        "name": "BTC",
                        "resetAddressStatus": false,
                        "addressRegex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$",
                        "memoRegex": "",
                        "withdrawFee": "0.0005",
                        "withdrawMin": "0.001",
                        "withdrawMax": "0",
                        "minConfirm": 1,
                        "unLockConfirm": 2
                    }
                ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   úcapital/config/getallTrº  rX  r¶  s     r…   Úget_all_coins_infozClient.get_all_coins_info   s!   € ðR ×'Ñ'¨Ð/FÈÐSYÐ'ÓZÐZr‡   c                 ó,   — | j                  ddd|¬«      S )az  Get daily account snapshot of specific type.

        https://binance-docs.github.io/apidocs/spot/en/#daily-account-snapshot-user_data

        :param type: required. Valid values are SPOT/MARGIN/FUTURES.
        :type type: string
        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param limit: optional
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        .. code-block:: python

            {
               "code":200, // 200 for success; others are error codes
               "msg":"", // error message
               "snapshotVos":[
                  {
                     "data":{
                        "balances":[
                           {
                              "asset":"BTC",
                              "free":"0.09905021",
                              "locked":"0.00000000"
                           },
                           {
                              "asset":"USDT",
                              "free":"1.89109409",
                              "locked":"0.00000000"
                           }
                        ],
                        "totalAssetOfBtc":"0.09942700"
                     },
                     "type":"spot",
                     "updateTime":1576281599000
                  }
               ]
            }

        OR

        .. code-block:: python

            {
               "code":200, // 200 for success; others are error codes
               "msg":"", // error message
               "snapshotVos":[
                  {
                     "data":{
                        "marginLevel":"2748.02909813",
                        "totalAssetOfBtc":"0.00274803",
                        "totalLiabilityOfBtc":"0.00000100",
                        "totalNetAssetOfBtc":"0.00274750",
                        "userAssets":[
                           {
                              "asset":"XRP",
                              "borrowed":"0.00000000",
                              "free":"1.00000000",
                              "interest":"0.00000000",
                              "locked":"0.00000000",
                              "netAsset":"1.00000000"
                           }
                        ]
                     },
                     "type":"margin",
                     "updateTime":1576281599000
                  }
               ]
            }

        OR

        .. code-block:: python

            {
               "code":200, // 200 for success; others are error codes
               "msg":"", // error message
               "snapshotVos":[
                  {
                     "data":{
                        "assets":[
                           {
                              "asset":"USDT",
                              "marginBalance":"118.99782335",
                              "walletBalance":"120.23811389"
                           }
                        ],
                        "position":[
                           {
                              "entryPrice":"7130.41000000",
                              "markPrice":"7257.66239673",
                              "positionAmt":"0.01000000",
                              "symbol":"BTCUSDT",
                              "unRealizedProfit":"1.24029054"
                           }
                        ]
                     },
                     "type":"futures",
                     "updateTime":1576281599000
                  }
               ]
            }

        :raises: BinanceRequestException, BinanceAPIException

        rð   ÚaccountSnapshotTrº  rX  r¶  s     r…   Úget_account_snapshotzClient.get_account_snapshotë  s    € ðb ×'Ñ'¨Ð/@À$ÈVÐ'ÓTÐTr‡   c                 ó,   — | j                  ddd|¬«      S )a(  Disable Fast Withdraw Switch

        https://binance-docs.github.io/apidocs/spot/en/#disable-fast-withdraw-switch-user_data

        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  ÚdisableFastWithdrawSwitchTrº  rX  r¶  s     r…   Údisable_fast_withdraw_switchz#Client.disable_fast_withdraw_switch^  s    € ð ×'Ñ'¨Ð0KÈTÐX^Ð'Ó_Ð_r‡   c                 ó,   — | j                  ddd|¬«      S )a&  Enable Fast Withdraw Switch

        https://binance-docs.github.io/apidocs/spot/en/#enable-fast-withdraw-switch-user_data

        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        :raises: BinanceRequestException, BinanceAPIException

        rŒ  ÚenableFastWithdrawSwitchTrº  rX  r¶  s     r…   Úenable_fast_withdraw_switchz"Client.enable_fast_withdraw_switchm  s    € ð ×'Ñ'¨Ð0JÈDÐW]Ð'Ó^Ð^r‡   c                 ó&   — | j                  dd«      S )zjTest connectivity

        https://binance-docs.github.io/apidocs/voptions/en/#test-connectivity

        rð   rV  ©r}  r�   s    r…   Úoptions_pingzClient.options_pingƒ  rµ  r‡   c                 ó&   — | j                  dd«      S )zfGet server time

        https://binance-docs.github.io/apidocs/voptions/en/#get-server-time

        rð   rö   rÜ  r�   s    r…   Úoptions_timezClient.options_time‹  rµ  r‡   c                 ó&   — | j                  dd«      S )z‚Get current trading pair info

        https://binance-docs.github.io/apidocs/voptions/en/#get-current-trading-pair-info

        rð   Ú
optionInforÜ  r�   s    r…   Úoptions_infozClient.options_info“  s   € ð ×(Ñ(¨°Ó=Ð=r‡   c                 ó&   — | j                  dd«      S )z Get current limit info and trading pair info

        https://binance-docs.github.io/apidocs/voptions/en/#get-current-limit-info-and-trading-pair-info

        rð   r�  rÜ  r�   s    r…   Úoptions_exchange_infozClient.options_exchange_info›  rº  r‡   c                 ó*   — | j                  dd|¬«      S )uö   Get the spot index price

        https://binance-docs.github.io/apidocs/voptions/en/#get-the-spot-index-price

        :param underlying: required - Spot pairï¼ˆOption contract underlying assetï¼‰- BTCUSDT
        :type underlying: str

        rð   Úindexrº  rÜ  r¶  s     r…   Úoptions_index_pricezClient.options_index_price£  s   € ð ×(Ñ(¨°¸fÐ(ÓEÐEr‡   c                 ó*   — | j                  dd|¬«      S )zÕGet the latest price

        https://binance-docs.github.io/apidocs/voptions/en/#get-the-latest-price

        :param symbol: optional - Option trading pair - BTC-200730-9000-C
        :type symbol: str

        rð   Útickerrº  rÜ  r¶  s     r…   Úoptions_pricezClient.options_price®  s   € ð ×(Ñ(¨°¸vÐ(ÓFÐFr‡   c                 ó*   — | j                  dd|¬«      S )zßGet the latest mark price

        https://binance-docs.github.io/apidocs/voptions/en/#get-the-latest-mark-price

        :param symbol: optional - Option trading pair - BTC-200730-9000-C
        :type symbol: str

        rð   Úmarkrº  rÜ  r¶  s     r…   Úoptions_mark_pricezClient.options_mark_price¹  s   € ð ×(Ñ(¨°¸VÐ(ÓDÐDr‡   c                 ó*   — | j                  dd|¬«      S )aP  Depth information

        https://binance-docs.github.io/apidocs/voptions/en/#depth-information

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param limit: optional - Default:100 Max:1000.Optional value:[10, 20, 50, 100, 500, 1000] - 100
        :type limit: int

        rð   rµ  rº  rÜ  r¶  s     r…   Úoptions_order_bookzClient.options_order_bookÄ  s   € ð ×(Ñ(¨°¸fÐ(ÓEÐEr‡   c                 ó*   — | j                  dd|¬«      S )a1  Candle data

        https://binance-docs.github.io/apidocs/voptions/en/#candle-data

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param interval: required - Time interval - 5m
        :type interval: str
        :param startTime: optional - Start Time - 1592317127349
        :type startTime: int
        :param endTime: optional - End Time - 1592317127349
        :type endTime: int
        :param limit: optional - Number of records Default:500 Max:1500 - 500
        :type limit: int

        rð   rÖ  rº  rÜ  r¶  s     r…   Úoptions_klineszClient.options_klinesÑ  s   € ð" ×(Ñ(¨°¸vÐ(ÓFÐFr‡   c                 ó*   — | j                  dd|¬«      S )aS  Recently completed Option trades

        https://binance-docs.github.io/apidocs/voptions/en/#recently-completed-option-trades

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param limit: optional - Number of records Default:100 Max:500 - 100
        :type limit: int

        rð   r¹  rº  rÜ  r¶  s     r…   Úoptions_recent_tradeszClient.options_recent_tradesä  s   € ð ×(Ñ(¨°¸vÐ(ÓFÐFr‡   c                 ó*   — | j                  dd|¬«      S )aÕ  Query trade history

        https://binance-docs.github.io/apidocs/voptions/en/#query-trade-history

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param fromId: optional - The deal ID from which to return. The latest deal record is returned by default - 1592317127349
        :type fromId: int
        :param limit: optional - Number of records Default:100 Max:500 - 100
        :type limit: int

        rð   r¾  rº  rÜ  r¶  s     r…   Úoptions_historical_tradesz Client.options_historical_tradesñ  s   € ð ×(Ñ(¨Ð0BÈÐ(ÓPÐPr‡   c                 ó,   — | j                  ddd|¬«      S )zÅAccount asset info (USER_DATA)

        https://binance-docs.github.io/apidocs/voptions/en/#account-asset-info-user_data

        :param recvWindow: optional
        :type recvWindow: int

        rð   r@  Trq  rÜ  r¶  s     r…   Úoptions_account_infozClient.options_account_info  s   € ð ×(Ñ(¨°	À$ÈVÐ(ÓTÐTr‡   c                 ó,   — | j                  ddd|¬«      S )a  Funds transfer (USER_DATA)

        https://binance-docs.github.io/apidocs/voptions/en/#funds-transfer-user_data

        :param currency: required - Asset type - USDT
        :type currency: str
        :param type: required - IN: Transfer from spot account to option account OUT: Transfer from option account to spot account - IN
        :type type: str (ENUM)
        :param amount: required - Amount - 10000
        :type amount: float
        :param recvWindow: optional
        :type recvWindow: int

        rŒ  ÚtransferTrq  rÜ  r¶  s     r…   Úoptions_funds_transferzClient.options_funds_transfer  s   € ð ×(Ñ(¨°ÀDÈvÐ(ÓVÐVr‡   c                 ó,   — | j                  ddd|¬«      S )a-  Option holdings info (USER_DATA)

        https://binance-docs.github.io/apidocs/voptions/en/#option-holdings-info-user_data

        :param symbol: optional - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param recvWindow: optional
        :type recvWindow: int

        rð   ÚpositionTrq  rÜ  r¶  s     r…   Úoptions_positionszClient.options_positions  s   € ð ×(Ñ(¨°
À4ÈfÐ(ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )aÜ  Account funding flow (USER_DATA)

        https://binance-docs.github.io/apidocs/voptions/en/#account-funding-flow-user_data

        :param currency: required - Asset type - USDT
        :type currency: str
        :param recordId: optional - Return the recordId and subsequent data, the latest data is returned by default - 100000
        :type recordId: int
        :param startTime: optional - Start Time - 1593511200000
        :type startTime: int
        :param endTime: optional - End Time - 1593511200000
        :type endTime: int
        :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        rŒ  ÚbillTrq  rÜ  r¶  s     r…   Úoptions_billzClient.options_bill+  s   € ð& ×(Ñ(¨°ÀÈ6Ð(ÓRÐRr‡   c                 ó,   — | j                  ddd|¬«      S )uÉ  Option order (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#option-order-trade

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param side: required - Buy/sell direction: SELL, BUY - BUY
        :type side: str (ENUM)
        :param type: required - Order Type: LIMIT, MARKET - LIMIT
        :type type: str (ENUM)
        :param quantity: required - Order Quantity - 3
        :type quantity: float
        :param price: optional - Order Price - 1000
        :type price: float
        :param timeInForce: optional - Time in force methodï¼ˆDefault GTC) - GTC
        :type timeInForce: str (ENUM)
        :param reduceOnly: optional - Reduce Only (Default false) - false
        :type reduceOnly: bool
        :param postOnly: optional - Post Only (Default false) - false
        :type postOnly: bool
        :param newOrderRespType: optional - "ACK", "RESULT", Default "ACK" - ACK
        :type newOrderRespType: str (ENUM)
        :param clientOrderId: optional - User-defined order ID cannot be repeated in pending orders - 10000
        :type clientOrderId: str
        :param recvWindow: optional
        :type recvWindow: int

        rŒ  r  Trq  rÜ  r¶  s     r…   Úoptions_place_orderzClient.options_place_order@  s   € ð: ×(Ñ(¨°ÀÈFÐ(ÓSÐSr‡   c                 ó,   — | j                  ddd|¬«      S )a‰  Place Multiple Option orders (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#place-multiple-option-orders-trade

        :param orders: required - order list. Max 5 orders - [{"symbol":"BTC-210115-35000-C","price":"100","quantity":"0.0001","side":"BUY","type":"LIMIT"}]
        :type orders: list
        :param recvWindow: optional
        :type recvWindow: int

        rŒ  r"  Trq  rÜ  r¶  s     r…   Úoptions_place_batch_orderz Client.options_place_batch_order_  s   € ð ×(Ñ(¨°ÀtÐRXÐ(ÓYÐYr‡   c                 ó,   — | j                  ddd|¬«      S )aè  Cancel Option order (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#cancel-option-order-trade

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param orderId: optional - Order ID - 4611875134427365377
        :type orderId: str
        :param clientOrderId: optional - User-defined order ID - 10000
        :type clientOrderId: str
        :param recvWindow: optional
        :type recvWindow: int

        r”  r  Trq  rÜ  r¶  s     r…   Úoptions_cancel_orderzClient.options_cancel_orderl  s   € ð ×(Ñ(¨°7À4ÈfÐ(ÓUÐUr‡   c                 ó,   — | j                  ddd|¬«      S )a'  Cancel Multiple Option orders (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#cancel-multiple-option-orders-trade

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param orderIds: optional - Order ID - [4611875134427365377,4611875134427365378]
        :type orderId: list
        :param clientOrderIds: optional - User-defined order ID - ["my_id_1","my_id_2"]
        :type clientOrderIds: list
        :param recvWindow: optional
        :type recvWindow: int

        r”  r"  Trq  rÜ  r¶  s     r…   Úoptions_cancel_batch_orderz!Client.options_cancel_batch_order}  s   € ð ×(Ñ(¨°=ÈÐTZÐ(Ó[Ð[r‡   c                 ó,   — | j                  ddd|¬«      S )a-  Cancel all Option orders (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#cancel-all-option-orders-trade

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param recvWindow: optional
        :type recvWindow: int

        r”  r1  Trq  rÜ  r¶  s     r…   Úoptions_cancel_all_ordersz Client.options_cancel_all_ordersŽ  s   € ð ×(Ñ(¨°?È4ÐV\Ð(Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )aæ  Query Option order (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-trade

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param orderId: optional - Order ID - 4611875134427365377
        :type orderId: str
        :param clientOrderId: optional - User-defined order ID - 10000
        :type clientOrderId: str
        :param recvWindow: optional
        :type recvWindow: int

        rð   r  Trq  rÜ  r¶  s     r…   Úoptions_query_orderzClient.options_query_order›  s   € ð ×(Ñ(¨°ÀÈ6Ð(ÓRÐRr‡   c                 ó,   — | j                  ddd|¬«      S )a
  Query current pending Option orders (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#query-current-pending-option-orders-trade

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000
        :type orderId: str
        :param startTime: optional - Start Time - 1593511200000
        :type startTime: int
        :param endTime: optional - End Time - 1593511200000
        :type endTime: int
        :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        rð   r:  Trq  rÜ  r¶  s     r…   Úoptions_query_pending_ordersz#Client.options_query_pending_orders¬  ó   € ð& ×(Ñ(¨°ÀTÐPVÐ(ÓWÐWr‡   c                 ó,   — | j                  ddd|¬«      S )aø  Query Option order history (TRADE)

        https://binance-docs.github.io/apidocs/voptions/en/#query-option-order-history-trade

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param orderId: optional - Returns the orderId and subsequent orders, the most recent order is returned by default - 100000
        :type orderId: str
        :param startTime: optional - Start Time - 1593511200000
        :type startTime: int
        :param endTime: optional - End Time - 1593511200000
        :type endTime: int
        :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        rð   ÚhistoryOrdersTrq  rÜ  r¶  s     r…   Úoptions_query_order_historyz"Client.options_query_order_historyÁ  s   € ð& ×(Ñ(¨°ÈÐSYÐ(ÓZÐZr‡   c                 ó,   — | j                  ddd|¬«      S )aÚ  Option Trade List (USER_DATA)

        https://binance-docs.github.io/apidocs/voptions/en/#option-trade-list-user_data

        :param symbol: required - Option trading pair - BTC-200730-9000-C
        :type symbol: str
        :param fromId: optional - Trade id to fetch from. Default gets most recent trades. - 4611875134427365376
        :type fromId: int
        :param startTime: optional - Start Time - 1593511200000
        :type startTime: int
        :param endTime: optional - End Time - 1593511200000
        :type endTime: int
        :param limit: optional - Number of result sets returned Default:100 Max:1000 - 100
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        rð   rK  Trq  rÜ  r¶  s     r…   Úoptions_user_tradeszClient.options_user_tradesÖ  r  r‡   c                 ó,   — | j                  ddd|¬«      S )aA  Get Fiat Deposit/Withdraw History

        https://binance-docs.github.io/apidocs/spot/en/#get-fiat-deposit-withdraw-history-user_data

        :param transactionType: required - 0-deposit,1-withdraw
        :type transactionType: str
        :param beginTime: optional
        :type beginTime: int
        :param endTime: optional
        :type endTime: int
        :param page: optional - default 1
        :type page: int
        :param rows: optional - default 100, max 500
        :type rows: int
        :param recvWindow: optional
        :type recvWindow: int

        rð   úfiat/ordersTrq  rX  r¶  s     r…   Ú!get_fiat_deposit_withdraw_historyz(Client.get_fiat_deposit_withdraw_historyí  s   € ð& ×'Ñ'¨¨}ÀTÐPVÐ'ÓWÐWr‡   c                 ó,   — | j                  ddd|¬«      S )a)  Get Fiat Payments History

        https://binance-docs.github.io/apidocs/spot/en/#get-fiat-payments-history-user_data

        :param transactionType: required - 0-buy,1-sell
        :type transactionType: str
        :param beginTime: optional
        :type beginTime: int
        :param endTime: optional
        :type endTime: int
        :param page: optional - default 1
        :type page: int
        :param rows: optional - default 100, max 500
        :type rows: int
        :param recvWindow: optional
        :type recvWindow: int

        rð   úfiat/paymentsTrq  rX  r¶  s     r…   Úget_fiat_payments_historyz Client.get_fiat_payments_history  s   € ð& ×'Ñ'¨¨ÀtÐRXÐ'ÓYÐYr‡   c                 ó,   — | j                  ddd|¬«      S )u­  Get C2C Trade History

        https://binance-docs.github.io/apidocs/spot/en/#get-c2c-trade-history-user_data

        :param tradeType: required - BUY, SELL
        :type tradeType: str
        :param startTimestamp: optional
        :type startTime: int
        :param endTimestamp: optional
        :type endTimestamp: int
        :param page: optional - default 1
        :type page: int
        :param rows: optional - default 100, max 100
        :type rows: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

            {
                "code": "000000",
                "message": "success",
                "data": [
                    {
                        "orderNumber":"20219644646554779648",
                        "advNo": "11218246497340923904",
                        "tradeType": "SELL",
                        "asset": "BUSD",
                        "fiat": "CNY",
                        "fiatSymbol": "ï¿¥",
                        "amount": "5000.00000000",  // Quantity (in Crypto)
                        "totalPrice": "33400.00000000",
                        "unitPrice": "6.68", // Unit Price (in Fiat)
                        "orderStatus": "COMPLETED",  // PENDING, TRADING, BUYER_PAYED, DISTRIBUTING, COMPLETED, IN_APPEAL, CANCELLED, CANCELLED_BY_SYSTEM
                        "createTime": 1619361369000,
                        "commission": "0",   // Transaction Fee (in Crypto)
                        "counterPartNickName": "ab***",
                        "advertisementRole": "TAKER"
                    }
                ],
                "total": 1,
                "success": true
            }

        rð   ú#c2c/orderMatch/listUserOrderHistoryTrq  rX  r¶  s     r…   Úget_c2c_trade_historyzClient.get_c2c_trade_history  s"   € ð\ ×'Ñ'¨Ð/TÐ]aÐhnÐ'ÓoÐor‡   c                 ó,   — | j                  ddd|¬«      S )a”  Get C2C Trade History

        https://binance-docs.github.io/apidocs/spot/en/#pay-endpoints

        :param startTime: optional
        :type startTime: int
        :param endTime: optional
        :type endTime: int
        :param limit: optional - default 100, max 100
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        rð   úpay/transactionsTrq  rX  r¶  s     r…   Úget_pay_trade_historyzClient.get_pay_trade_historyK  s    € ð" ×'Ñ'¨Ð/AÈ$ÐU[Ð'Ó\Ð\r‡   c                 ó,   — | j                  ddd|¬«      S )aÌ  Get C2C Trade History

        https://binance-docs.github.io/apidocs/spot/en/#pay-endpoints

        :param startTime: required - Start Time - 1593511200000
        :type startTime: int
        :param endTime: required - End Time - 1593511200000
        :type endTime: int
        :param limit: optional - default 100, max 100
        :type limit: int
        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        rð   úconvert/tradeFlowTrq  rX  r¶  s     r…   Úget_convert_trade_historyz Client.get_convert_trade_history`  s    € ð" ×'Ñ'¨Ð/BÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )aÅ  Request a quote for the requested token pairs

        https://binance-docs.github.io/apidocs/spot/en/#send-quote-request-user_data

        :param fromAsset: required - Asset to convert from - BUSD
        :type fromAsset: str
        :param toAsset: required - Asset to convert to - BTC
        :type toAsset: str
        :param fromAmount: EITHER - When specified, it is the amount you will be debited after the conversion
        :type fromAmount: decimal
        :param toAmount: EITHER - When specified, it is the amount you will be credited after the conversion
        :type toAmount: decimal

        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        rŒ  úconvert/getQuoteTrq  rX  r¶  s     r…   Úconvert_request_quotezClient.convert_request_quotes  s    € ð( ×'Ñ'¨Ð0BÈ4ÐV\Ð'Ó]Ð]r‡   c                 ó,   — | j                  ddd|¬«      S )a-  Accept the offered quote by quote ID.

        https://binance-docs.github.io/apidocs/spot/en/#accept-quote-trade

        :param quoteId: required - 457235734584567
        :type quoteId: str

        :param recvWindow: optional
        :type recvWindow: int

        :returns: API response

        rŒ  úconvert/acceptQuoteTrq  rX  r¶  s     r…   Úconvert_accept_quotezClient.convert_accept_quote‰  s    € ð ×'Ñ'¨Ð0EÈdÐY_Ð'Ó`Ð`r‡   c                 óR   — | j                   r| j                   j                  «        y y rŽ   ©r€   Úcloser�   s    r…   Úclose_connectionzClient.close_connection™  s   € Ø�<Š<Ø�L‰L×ÑÕ ð r‡   c                 ó$   — | j                  «        y rŽ   )r-  r�   s    r…   Ú__del__zClient.__del__�  s   € Ø×ÑÕr‡   rþ   ©Fr   ©NNrŽ   ©Niô  (T  rÿ   r   r  r   r  r   ræ   r   r
   rP  r	   r   r†   rY  ÚSessionr   r_  rQ  ÚResponser^  r  rj  rõ   rn  rr  rw  rz  r}  r€  rƒ  rˆ  r�  r‘  r•  r›  rŸ  r¨  rV  r«  r   r®  r³  r·  r¼  r¿  rÂ  rÔ  r×  r   r%   rà  rè  rî  rì  rü  rû  r  r  r  r	  r  r1  r  r  r  r  r!  r$  r'  r*  r-  r0  r2  r5  r8  r;  r>  rA  rI  rL  rO  rR  rU  rY  r\  r_  rb  re  rh  rk  rn  rr  rt  rw  rz  r  r‚  r…  r�  r”  r™  rœ  rž  r¡  r¤  r¦  r¨  r«  r®  r±  r´  r·  rº  r½  rÀ  rÂ  rÅ  rÈ  rË  rÑ  rÓ  rÕ  rØ  rÛ  rÞ  rà  rã  rå  rç  ré  rì  rï  rò  rô  r÷  rú  rý  r   r  r  r	  r  r  r  r  r  r  r  r  r!  r$  r'  r+  r.  r1  r5  r8  r;  r>  rA  rD  rG  rJ  rM  rP  rS  rV  rY  r_  rb  re  rh  rk  rn  rq  rt  rw  ry  r|  r  r‚  r…  rˆ  r‹  rŽ  r‘  r”  r—  rš  r�  r   r£  r¦  r©  r¬  r¯  r±  r´  r·  r¹  r¼  r¾  rÁ  rÄ  rÜ  rÈ  rÍ  rÒ  rÕ  rÙ  rÞ  rá  rä  ræ  rè  rê  rí  rñ  rô  r÷  rú  rý  r   r  r  r	  r  r  r  r  r  r  r  r&  r(  r*  r-  r/  r2  r4  r7  r:  r=  r@  rC  rF  rI  rL  rO  rR  rT  rZ  r\  r_  rb  re  rh  rk  rm  ro  rq  rt  rv  rÞ  ry  r|  r  r�  r„  r‡  r‰  r‹  r�  r�  r’  r•  r—  rš  r�  rŸ  r¡  r¤  r¦  r¨  r«  r­  r¯  r±  r³  r¶  r¸  rº  r¼  r¾  rÀ  rÂ  rÄ  rÆ  rÈ  rÊ  rÌ  rÎ  rÑ  rÔ  r×  rÚ  rÝ  rß  râ  rä  rç  rê  rí  rï  rñ  ró  rõ  r÷  rú  rý  r   r  r  r  r  r
  r  r  r  r  r  r  r  r   r#  r&  r)  r-  r/  Ú__classcell__©rW  s   @r…   rS  rS  L  s‚
  ø„ ð (,ÈØ48ÀUØ'×=Ñ=ÈuØ26ÐZ^ñ	
Ø ‘}ð
Ø9AÀ#¹ð
à! $ s¨C x¡.Ñ1ð
à?Bð
ð ð
ð IMð
ð ˜e C¨ IÑ.Ñ/ð	
ð KSÐSVÉ-õ	
ð˜x×/Ñ/ó ò4 Cð 4°ð 4ÀTó 4ð ð
R 8×#4Ñ#4ò 
Ró ð
Rð 16¸z×?\Ñ?\ñ<Øð<Ø)-ó<òBÈð BÐ^bó Bò
BÐQUó Bò
BÐ\`ó Bò
BÐaeó Bò
BÈDó Bò
<ÐVZó <ò
<Èó <ð !&¨z×/LÑ/Ló Ið "'°
×0MÑ0Mñ JÐ\`ó Jð !&¨z×/LÑ/Lñ IÐ[_ó Ið $)°*×2OÑ2Oñ LÐ^bó Lð
˜dó ð>K 4ó >Kð@/¨°$©ó /ðfC�dó Cð C ó Cð(K  d¨3°¨8¡nÑ!5ó Kð2'[°ó '[ðR#Q¨$ó #QðJ0¨Tó 0ð<\°ó \ð@%U°ó %UòNQ.¨3ó Q.ðf(R dó (RðT ;O×:SÑ:Sñ 7Ð#7ð 7Ðbfó 7ð* cw×b{Ñb{ñ ÐK_ó ð. AEÈdÐZ^ØBV×B[ÑB[ñ
Ø+?ó
ð0 >BÈ4ÐW[Ø?S×?XÑ?XñMØ(<óMð^ KOÐX\ÐdhØL`×LeÑLeñwØ5Iówð. HLÐUYÐaeØI]×IbÑIbñIØ2FóIòVTò&;Wòz#XòJ,]ò`u6ðn '1×&BÑ&Bó #+ðJ +5×*FÑ*Fó "CðH ,6×+GÑ+Gó  CòD+ò>+ò8+ò8<:ò|(/òT(/òT$;òL%5òN+9òZ8ò@#:òJ =òF%7òNò:'8òR2ò:#BòJ*=òX@ò&Tò&D^òL]ò:Uò:FTòP$QòL-Yò^\ò@4[òlTò<WòF*]òX6\òp4^òl+FòZ]¨ð ]°h¸s±mó ]òB ò.aò,dò08Tòtm]ò^^ò*`ò,Lò<Kò@#PòJ%OòNdò:aò>$eòLUò:Tò0Qò6]ò<]ò< fòD fòD;eòz"YòH$ZòLwZòr)\òVaò&9\òv*XòX0Yòdcò>)còV'gòR,Yò\-^ò^9]òv8\òtaò.cò2j^òXO`òb*]òXE`òR ò.\ò,_ò0 ò:eò2hò6gòhòdònòbòiò0aòdbòiòkòjòeò`ò^ò\ò]òcòdòfòSòTòVò\òUòcò&VòP0fòd0jòdkò@/còb$]òL`ò<8_òtXò>`ò6A`òF#gòJaò60lòd2sòhqò@cò<bò8dò6gò20iòddòB4còp8ò8ò@òFòGòQòJòGòQôLô&Iò$MòLò^ò_òaòLòMòRòYòQ^òf\ò.YòMòJòVòVòWòVòaò`òdòkòeòbòMòSòLòQòPòOòWòUòQòQòPòRòVò]òVòQòMòYòXð	YÀ$ó 	YòTó óXó[ô=ô=ôEôKôLôVôOôLôVôVôUôRôQôQôRôWô^ôRô[ô
ôTô^ôdô
ôRôXôQôVô
ô
ô
ô
ô
ô
ô
ô
ô
ô
ôXôVôRô^ô]ô ô]ô`ôI[ôVqUôf`ô_ðô8ô8ô>ô@ô	Fô	Gô	EôFôGô&GôQô"	UôWô"VôSô*Tô>ZôVô"\ô"^ôSô"Xô*[ô*Xô.Xô*Zô..pôd]ô*^ô&^ô,aô !÷ ñ  r‡   rS  c                   óâ!  ‡ — e Zd Zddddej                  dddddf
dee   dee   deeeef      deded	e	d
eeeef      dee
eef      dee   fˆ fd„Zeddddej                  dddfdee   dee   deeeef      deded	e	d
eeeef      fd„«       Zdej                   fd„Zd„ Z�dTdede	de	fd„Zdej(                  fd„Zdej,                  fd„Z�dUdefd„Z�dTdefd„Z�dUdefd„Z�dUdefd„Z�dTdefd„Z�dUdefd„Z�dTdefd„Zdej,                  fd „Zdej,                  fdefd!„Z dej,                  fdefd"„Z!dej,                  fdefd#„Z"defd$„Z#e$jF                  jJ                  e#_%        defd%„Z&e$jL                  jJ                  e&_%        dee   fd&„Z'e$jN                  jJ                  e'_%        defd'„Z(e$jP                  jJ                  e(_%        defd(„Z)e$jR                  jJ                  e)_%        �dVd)ee   de*eeef      fd*„Z+e$jV                  jJ                  e+_%        defd+„Z,e$jX                  jJ                  e,_%        defd,„Z-e$jZ                  jJ                  e-_%        defd-„Z.e$j\                  jJ                  e._%        defd.„Z/e$j^                  jJ                  e/_%        defd/„Z0e$j`                  jJ                  e0_%        �dWd0„Z1e$jb                  jJ                  e1_%        defd1„Z2e$jd                  jJ                  e2_%        e3jh                  fd2e3defd3„Z5e$jj                  jJ                  e5_%        e3jh                  fd2e3fd4„Z6e$jl                  jJ                  e6_%        ddd5e3jh                  fd2e3fd6„Z7e$jn                  jJ                  e7_%        ddd5e3jh                  fd2e3fd7„Z8e$jp                  jJ                  e8_%        ddd5e3jh                  fd2e3fd8„Z9e$jr                  jJ                  e9_%        ddd5e3jh                  fd2e3fd9„Z:e$jt                  jJ                  e:_%        d:„ Z;e$jv                  jJ                  e;_%        d;„ Z<e$jx                  jJ                  e<_%        d<„ Z=e$jz                  jJ                  e=_%        d=„ Z>e$j|                  jJ                  e>_%        d>„ Z?e$j~                  jJ                  e?_%        ej€                  fd?„ZAe$j‚                  jJ                  eA_%        ej€                  fd@„ZBe$j„                  jJ                  eB_%        ej€                  fdA„ZCe$j†                  jJ                  eC_%        dB„ ZDe$jˆ                  jJ                  eD_%        dC„ ZEe$jŠ                  jJ                  eE_%        dD„ ZFe$jŒ                  jJ                  eF_%        dE„ ZGe$jŽ                  jJ                  eG_%        dF„ ZHe$j�                  jJ                  eH_%        dG„ ZIe$j’                  jJ                  eI_%        dH„ ZJe$j”                  jJ                  eJ_%        dI„ ZKe$j–                  jJ                  eK_%        dJ„ ZLe$j˜                  jJ                  eL_%        dK„ ZMe$jš                  jJ                  eM_%        dL„ ZNe$jœ                  jJ                  eN_%        dM„ ZOe$jž                  jJ                  eO_%        dN„ ZPe$j                   jJ                  eP_%        dO„ ZQe$j¢                  jJ                  eQ_%        dP„ ZRe$j¤                  jJ                  eR_%        dQ„ ZSe$j¦                  jJ                  eS_%        dR„ ZTe$j¨                  jJ                  eT_%        dS„ ZUe$jª                  jJ                  eU_%        dT„ ZVe$j¬                  jJ                  eV_%        dU„ ZWe$j®                  jJ                  eW_%        dV„ ZXe$j°                  jJ                  eX_%        dW„ ZYe$j²                  jJ                  eY_%        dX„ ZZe$j´                  jJ                  eZ_%        dY„ Z[e$j¶                  jJ                  e[_%        dZ„ Z\e$j¸                  jJ                  e\_%        d[„ Z]e$jº                  jJ                  e]_%        d\„ Z^e$j¼                  jJ                  e^_%        d]„ Z_e$j¾                  jJ                  e__%        d^„ Z`e$jÀ                  jJ                  e`_%        d_„ Zae$jÂ                  jJ                  ea_%        d`„ Zbe$jÄ                  jJ                  eb_%        da„ Zce$jÆ                  jJ                  ec_%        db„ Zde$jÈ                  jJ                  ed_%        dc„ Zee$jÊ                  jJ                  ee_%        �dVddedeee   fdf„Zfe$jÌ                  jJ                  ef_%        dg„ Zge$jÎ                  jJ                  eg_%        dh„ Zhe$jÐ                  jJ                  eh_%        di„ Zie$jÒ                  jJ                  ei_%        dj„ Zje$jÔ                  jJ                  ej_%        dk„ Zke$jÖ                  jJ                  ek_%        dl„ Zle$jØ                  jJ                  el_%        dm„ Zme$jÚ                  jJ                  em_%        dn„ Zne$jÜ                  jJ                  en_%        do„ Zoe$jÞ                  jJ                  eo_%        dp„ Zpe$jà                  jJ                  ep_%        dq„ Zqe$jâ                  jJ                  eq_%        dr„ Zre$jä                  jJ                  er_%        ds„ Zse$jæ                  jJ                  es_%        dt„ Zte$jè                  jJ                  et_%        du„ Zue$jê                  jJ                  eu_%        dv„ Zve$jì                  jJ                  ev_%        dw„ Zwe$jî                  jJ                  ew_%        dx„ Zxe$jð                  jJ                  ex_%        dy„ Zye$jò                  jJ                  ey_%        dz„ Zze$jô                  jJ                  ez_%        d{„ Z{e$jö                  jJ                  e{_%        d|„ Z|e$jø                  jJ                  e|_%        d}„ Z}e$jú                  jJ                  e}_%        d~„ Z~e$jü                  jJ                  e~_%        d„ Ze$jþ                  jJ                  e_%        d€„ Z€e$�j                   jJ                  e€_%        d�„ Z�e$�j                  jJ                  e�_%        d‚„ Z‚e$�j                  jJ                  e‚_%        dƒ„ Zƒd„„ Z„d…„ Z…d†„ Z†d‡„ Z‡dˆ„ Zˆd‰„ Z‰dŠ„ ZŠd‹„ Z‹dŒ„ ZŒd�„ Z�dŽ„ ZŽd�„ Z�d�„ Z�d‘„ Z‘d’„ Z’d“„ Z“d”„ Z”d•„ Z•d–„ Z–d—„ Z—d˜„ Z˜d™„ Z™dš„ Zšd›„ Z›dœ„ Zœd�„ Z�dž„ ZždŸ„ ZŸd „ Z d¡„ Z¡d¢„ Z¢d£„ Z£d¤„ Z¤d¥„ Z¥d¦„ Z¦d§„ Z§d¨„ Z¨d©„ Z©dª„ Zªe$�jT                  jJ                  eª_%        d«„ Z«e$�jV                  jJ                  e«_%        d¬„ Z¬e$�jX                  jJ                  e¬_%        d­„ Z­e$�jZ                  jJ                  e­_%        d®„ Z®e$�j\                  jJ                  e®_%        d¯„ Z¯e$�j^                  jJ                  e¯_%        d°„ Z°d±„ Z±d²„ Z²d³„ Z³d´„ Z´dµ„ Zµd¶„ Z¶d·„ Z·d¸„ Z¸d¹„ Z¹dº„ Zºd»„ Z»d¼„ Z¼d½„ Z½d¾„ Z¾d¿„ Z¿dÀ„ ZÀdÁ„ ZÁdÂ„ ZÂdÃ„ ZÃdÄ„ ZÄdÅ„ ZÅdÆ„ ZÆdÇ„ ZÇdÈ„ ZÈdÉ„ ZÉdÊ„ ZÊdË„ ZËdÌ„ ZÌdÍ„ ZÍdÎ„ ZÎdÏ„ ZÏ�dXdÐ„ZÐ�dVdÑ„ZÑdÒ„ ZÒdÓ„ ZÓdÔ„ ZÔdÕ„ ZÕdÖ„ ZÖd×„ Z×dØ„ ZØdÙ„ ZÙdÚ„ ZÚdÛ„ ZÛdÜ„ ZÜdÝ„ ZÝdÞ„ ZÞdß„ Zßdà„ Zàdá„ Zádâ„ Zâdã„ Zãdä„ Zädå„ Zådæ„ Zædç„ Zçdè„ Zèdé„ Zédê„ Zêdë„ Zëdì„ Zìdí„ Zídî„ Zîdï„ Zïdð„ Zðdñ„ Zñdò„ Zòdó„ Zódô„ Zôdõ„ Zõdö„ Zöd÷„ Z÷dø„ Zødù„ Zùdú„ Zúdû„ Zûdü„ Züdýe	fdþ„Zýdÿ„ Zþ�d „ Zÿ�d„ �Z �d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d	„ �Z�d
„ �Z	�d„ �Z
�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d„ �Z�d „ �Z�d!„ �Z �d"„ �Z!�d#„ �Z"�d$„ �Z#�d%„ �Z$�d&„ �Z%�d'„ �Z&�d(„ �Z'�d)„ �Z(�d*„ �Z)�d+„ �Z*�d,„ �Z+�d-„ �Z,�d.„ �Z-�d/„ �Z.�d0„ �Z/�d1„ �Z0�d2„ �Z1�d3„ �Z2�d4„ �Z3	 �d5„ �Z4�d6„ �Z5�d7„ �Z6�d8„ �Z7�d9„ �Z8�d:„ �Z9�d;„ �Z:�d<„ �Z;�d=„ �Z<�d>„ �Z=�d?„ �Z>�d@„ �Z?�dA„ �Z@�dB„ �ZA�dC„ �ZB�dD„ �ZC�dE„ �ZD�dF„ �ZE�dG„ �ZF�dH„ �ZG�dI„ �ZH�dJ„ �ZI�dK„ �ZJ�dL„ �ZK�dM„ �ZL�dN„ �ZM�dO„ �ZN�dP„ �ZOe$�jž                  jJ                  �eO_%        �dQ„ �ZPe$�j                   jJ                  �eP_%        �dR„ �ZQe$�j¢                  jJ                  �eQ_%        �dS„ �ZRe$�j¤                  jJ                  �eR_%        ˆ x�ZSS (Y  ÚAsyncClientNrg   Frh   ri   rj   rk   rl   rm   Úsession_paramsrn   ro   c           
      ón   •— |xs
 t        «       | _        |xs i | _        t        ‰| �  |||||||	|
«       y rŽ   )r   ÚloopÚ_session_paramsrU  r†   )r„   rh   ri   rj   rk   rl   rm   r;  r9  rn   ro   rW  s              €r…   r†   zAsyncClient.__init__£  s>   ø€ ð Ò&œH›JˆŒ	Ø/=Ò/CÀˆÔÜ‰Ñ˜ *¨o¸sÀMÐSZÐ\gÐiyÕzr‡   c	           
   ƒ   ó:  K  —  | ||||||||«      }		 |	j                  «       ƒ d {  –—†  |	j                  «       ƒ d {  –—† }
|
d   t        t        j                  «       dz  «      z
  |	_        |	S 7 ŒI7 Œ3# t
        $ r |	j                  «       ƒ d {  –—†7   ‚ w xY w­w)NÚ
serverTimerî   )rV  r«  rõ   rö   rƒ   rŠ  r-  )Úclsrh   ri   rj   rk   rl   rm   r;  r9  r„   r¦  s              r…   ÚcreatezAsyncClient.create¯  s¢   è ø€ ñ �7˜J¨¸¸mÈWÐVZÐ\jÓkˆð	Ø—)‘)“+×Ðð ×,Ñ,Ó.×.ˆCØ$'¨Ñ$5¼¼D¿I¹I»KÈ$Ñ<NÓ8OÑ$OˆDÔ!àˆKð øð /ùô ò 	ð ×'Ñ'Ó)×)Ñ)Øð		üsH   ‚B“A4 ¦A0§A4 ¾A2¿0A4 Á/BÁ0A4 Á2A4 Á4BÂBÂBÂBrˆ   c                 óz   — t        j                  d| j                  | j                  «       dœ| j                  ¤Ž}|S )N)r;  r‹   rÞ   )ÚaiohttpÚClientSessionr;  rŒ   r<  )r„   r€   s     r…   r   zAsyncClient._init_sessionÇ  sA   € ä×'Ñ'ð 
Ø—‘Ø×%Ñ%Ó'ñ
ð ×"Ñ"ñ
ˆð
 ˆr‡   c              ƒ   óŠ   K  — | j                   r1| j                   sJ ‚| j                   j                  «       ƒ d {  –—†  y y 7 Œ­wrŽ   r+  r�   s    r…   r-  zAsyncClient.close_connectionÐ  s7   è ø€ Ø�<Š<Ø—<’<Ð�<Ø—,‘,×$Ñ$Ó&×&Ñ&ð à&ús   ‚8AºA»ArZ  r™   rë   c              ‹   ó  K  —  | j                   |||fi |¤Ž} t        | j                  |«      |fi |¤Ž4 ƒd {  –—† }|| _        | j	                  |«      ƒ d {  –—† cd d d «      ƒd {  –—†  S 7 Œ57 Œ7 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­wrŽ   r\  )r„   rù   rZ  r™   rë   rú   r‚   s          r…   r_  zAsyncClient._requestÕ  sy   è ø€ à)�×)Ñ)¨&°&¸,ÑQÈ&ÑQˆà0”7˜4Ÿ<™<¨Ó0°Ñ?¸×?Ò?À8Ø$ˆDŒMØ×.Ñ.¨xÓ8×8÷ @×?Ò?øà8øð @ø×?×?Ñ?üsV   ‚7B
¹A/ºB
½A5ÁA1ÁA5ÁB
Á)A3Á*B
Á1A5Á3B
Á5BÁ;A>Á<BÂB
r‚   c              ƒ   óN  K  — t        |j                  «      j                  d«      s-t        ||j                  |j	                  «       ƒ d{  –—† «      ‚	 |j                  «       ƒ d{  –—† S 7 Œ!7 Œ# t        $ r( |j	                  «       ƒ d{  –—†7  }t        d|› �«      ‚w xY w­w)ra  r    NzInvalid Response: )ræ   ÚstatusÚ
startswithr   rd  re  rf  r   )r„   r‚   Útxts      r…   r^  zAsyncClient._handle_responseÝ  s�   è ø€ ô
 �8—?‘?Ó#×.Ñ.¨sÔ3Ü% h°·±ÀxÇ}Á}Ã×AVÓWÐWð	FØ!Ÿ™›×(Ð(ð BWøà(ùÜò 	FØ Ÿ™›×'Ð'ˆCÜ)Ð,>¸s¸eÐ*DÓEÐEð	FüsH   ‚A	B%ÁA-ÁB%ÁA1 Á(A/Á)A1 Á,B%Á/A1 Á1B"ÂBÂB"Â"B%c              ‹   ón   K  — | j                  |||«      } | j                  |||fi |¤Žƒ d {  –—† S 7 Œ­wrŽ   rh  ri  s          r…   rj  zAsyncClient._request_apiê  s:   è ø€ Ø×"Ñ" 4¨°Ó9ˆØ"�T—]‘] 6¨3°ÑA¸&ÑA×AÐAÐAús   ‚,5®3¯5c              ‹   óp   K  — | j                  ||¬«      } | j                  |||dfi |¤Žƒ d {  –—† S 7 Œ­wrt  rm  ri  s          r…   rn  z AsyncClient._request_futures_apiî  s=   è ø€ Ø×*Ñ*¨4¸Ð*ÓAˆà"�T—]‘] 6¨3°¸ÑGÀÑG×GÐGÐGúó   ‚-6¯4°6c              ‹   ól   K  — | j                  |«      } | j                  |||dfi |¤Žƒ d {  –—† S 7 Œ­wrl  rp  rq  s         r…   rr  z%AsyncClient._request_futures_data_apió  s8   è ø€ Ø×/Ñ/°Ó5ˆà"�T—]‘] 6¨3°¸ÑGÀÑG×GÐGÐGúó   ‚+4­2®4c              ‹   óp   K  — | j                  ||¬«      } | j                  |||dfi |¤Žƒ d {  –—† S 7 Œ­wrt  rv  ri  s          r…   rw  z%AsyncClient._request_futures_coin_apiø  s=   è ø€ Ø×/Ñ/°¸gÐ/ÓFˆà"�T—]‘] 6¨3°¸ÑGÀÑG×GÐGÐGúrL  c              ‹   óp   K  — | j                  ||¬«      } | j                  |||dfi |¤Žƒ d {  –—† S 7 Œ­wrt  ry  ri  s          r…   rz  z*AsyncClient._request_futures_coin_data_apiý  s=   è ø€ Ø×4Ñ4°TÀ7Ð4ÓKˆà"�T—]‘] 6¨3°¸ÑGÀÑG×GÐGÐGúrL  c              ‹   ól   K  — | j                  |«      } | j                  |||dfi |¤Žƒ d {  –—† S 7 Œ­wrl  r|  rq  s         r…   r}  z AsyncClient._request_options_api  s8   è ø€ Ø×*Ñ*¨4Ó0ˆà"�T—]‘] 6¨3°¸ÑGÀÑG×GÐGÐGúrN  c              ‹   ól   K  — | j                  ||«      } | j                  |||fi |¤Žƒ d {  –—† S 7 Œ­wrŽ   r  ri  s          r…   r€  zAsyncClient._request_margin_api  s8   è ø€ Ø×)Ñ)¨$°Ó8ˆà"�T—]‘] 6¨3°ÑA¸&ÑA×AÐAÐAúrN  c              ‹   ój   K  — | j                  |«      } | j                  |||fi |¤Žƒ d {  –—† S 7 Œ­wrŽ   r‚  rq  s         r…   rƒ  zAsyncClient._request_website  s6   è ø€ Ø×&Ñ& tÓ,ˆØ"�T—]‘] 6¨3°ÑA¸&ÑA×AÐAÐAús   ‚*3¬1­3c              ‹   óJ   K  —  | j                   d|||fi |¤Žƒ d {  –—† S 7 Œ­wr…  r†  r‡  s        r…   rˆ  zAsyncClient._get  ó*   è ø€ Ø&�T×&Ñ& u¨d°F¸GÑNÀvÑN×NÐNÐNúó   ‚#œ!�#c              ‹   óJ   K  —  | j                   d|||fi |¤Žƒ d {  –—† S 7 Œ­wr‹  r†  r‡  s        r…   r�  zAsyncClient._post  s*   è ø€ Ø&�T×&Ñ& v¨t°V¸WÑOÈÑO×OÐOÐOúrV  c              ‹   óJ   K  —  | j                   d|||fi |¤Žƒ d {  –—† S 7 Œ­wr�  r†  r‡  s        r…   r‘  zAsyncClient._put  rU  rV  c              ‹   óJ   K  —  | j                   d|||fi |¤Žƒ d {  –—† S 7 Œ­wr“  r†  r‡  s        r…   r•  zAsyncClient._delete  s*   è ø€ Ø&�T×&Ñ& x°°v¸wÑQÈ&ÑQ×QÐQÐQúrV  c              ƒ   óF   K  — | j                  dd«      ƒ d {  –—† }|S 7 Œ­w)Nrð   r—  r˜  r™  s     r…   r›  zAsyncClient.get_products  s'   è ø€ Ø×.Ñ.¨uÐ6qÓr×rˆØˆð sús   ‚!˜™!c              ƒ   óX   K  — | j                  d| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nr�  ru  rž  r�   s    r…   rŸ  zAsyncClient.get_exchange_info#  s%   è ø€ Ø—Y‘Y˜~°t×7OÑ7O�YÓP×PÐPÐPúó   ‚!*£(¤*c              ƒ   óˆ   K  — | j                  «       ƒ d {  –—† }|d   D ]  }|d   |j                  «       k(  sŒ|c S  y 7 Œ)­w)Nr¡  r¢  r£  r¥  s       r…   r¨  zAsyncClient.get_symbol_info'  sF   è ø€ Ø×*Ñ*Ó,×,ˆà˜	”NˆDØ�H‰~ §¡£Ó/Ø’ð #ð ð -ús   ‚A–A —"AºAc              ƒ   óX   K  — | j                  d| j                  ¬«      ƒ d {  –—† S 7 Œ­w)NrV  ru  rž  r�   s    r…   rV  zAsyncClient.ping3  ó%   è ø€ Ø—Y‘Y˜v¨t×/GÑ/G�YÓH×HÐHÐHúr\  c              ƒ   óX   K  — | j                  d| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nrö   ru  rž  r�   s    r…   r«  zAsyncClient.get_server_time7  r_  r\  r¢  c              ƒ   ól   K  — i }|r||d<   | j                  d| j                  |¬«      ƒ d {  –—† S 7 Œ­w)Nr¢  r­  ©rš   rÓ   rž  )r„   r¢  ré   s      r…   r®  zAsyncClient.get_all_tickers=  s:   è ø€ ØˆÙØ%ˆF�8ÑØ—Y‘Y˜~°t×7OÑ7OÐV\�YÓ]×]Ð]Ð]úrN  c              ‹   ó�   K  — i }d|v r	|d   |d<   nd|v r|d   |d<   | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nr¢  r¡  r°  r±  rž  r²  s      r…   r³  z!AsyncClient.get_orderbook_tickersD  sY   è ø€ ØˆØ�vÑØ# HÑ-ˆD�ŠNØ˜&Ñ Ø$ YÑ/ˆD�‰OØ—Y‘YÐ2¸Àt×G_ÑG_�YÓ`×`Ð`Ð`ús   ‚=A¿AÁ Ac              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nrµ  r±  rž  r¶  s     r…   r·  zAsyncClient.get_order_bookM  s'   è ø€ Ø—Y‘Y˜w¨V¸T×=UÑ=U�YÓV×VÐVÐVúó   ‚"+¤)¥+c              ‹   óD   K  — | j                  d|¬«      ƒ d {  –—† S 7 Œ­w)Nr¹  rº  r»  r¶  s     r…   r¼  zAsyncClient.get_recent_tradesQ  s   è ø€ Ø—Y‘Y˜x¨f�YÓ5×5Ð5Ð5ús   ‚ ™š c              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nr¾  r±  rž  r¶  s     r…   r¿  z!AsyncClient.get_historical_tradesU  s(   è ø€ Ø—Y‘YÐ1¸È×H`ÑH`�YÓa×aÐaÐaúre  c              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)NrÁ  r±  rž  r¶  s     r…   rÂ  z AsyncClient.get_aggregate_tradesY  s'   è ø€ Ø—Y‘Y˜{°À×AYÑAY�YÓZ×ZÐZÐZúre  c                ó  K  — |�|�t        d«      ‚|€Ÿ|€| j                  |d¬«      ƒ d {  –—† }nct        |«      }	 |dz   }| j                  |||¬«      ƒ d {  –—† }t        |«      dkD  rn'|t	        t        j
                  «       dz  «      kD  ry |}ŒW|D ]  }|­–— Œ	 |d   | j                     }	 | j                  ||¬«      ƒ d {  –—† }|dd  }t        |«      dk(  ry |D ]  }|­–— Œ	 |d   | j                     }ŒN7 ŒÕ7 Œ©7 Œ;­w)	NrÄ  r   rÅ  rÇ  rÈ  rî   rË  r   rÌ  rÎ  s           r…   rÔ  z AsyncClient.aggregate_trade_iter]  sT  è ø€ ØÐ  WÐ%8ÜØMóOð Oð ˆ?ð Ð Ø#×8Ñ8ÀÈqÐ8ÓQ×Q‘ô
 *¨)Ó4�ð Ø%¨Ñ8�FØ#'×#<Ñ#<Ø%Ø"*Ø &ð $=ó $(÷ (�Fô ˜6“{ Q’Øð ¤¤D§I¡I£K°$Ñ$6Ó 7Ò7ØØ%�Hð ó �Ø”ð à˜R‘j §¡Ñ-ˆGàð  ×4Ñ4¸FÈ7Ð4ÓS×SˆFð ˜A˜B�ZˆFÜ�6‹{˜aÒØÛ�Ø”ð à˜R‘j §¡Ñ-ˆGð ð5 Røð(øð, Tús4   ‚*D¬D­-DÁDÁA/DÃ
DÃ8DÄDÄDc              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)NrÖ  r±  rž  r¶  s     r…   r×  zAsyncClient.get_klines“  s'   è ø€ Ø—Y‘Y˜x¨f¸d×>VÑ>V�YÓW×WÐWÐWúre  rØ  c              ‹   óR  K  — d|v r|d   s|d= t         j                  |k(  r | j                  di |¤Žƒ d {  –—† S t         j                  |k(  r | j                  di |¤Žƒ d {  –—† S t         j
                  |k(  r | j                  di |¤Žƒ d {  –—† S t        |«      ‚7 Œi7 Œ>7 Œ­w)NrÊ  rÞ   rÚ  rß  s      r…   rà  zAsyncClient._klines—  s¨   è ø€ Ø˜Ñ v¨iÒ'8Ø�yÐ!Ü×$Ñ$¨Ò3Ø(˜Ÿ™Ñ2¨6Ñ2×2Ð2Ü!×)Ñ)¨[Ò8Ø,˜×,Ñ,Ñ6¨vÑ6×6Ð6Ü!×.Ñ.°+Ò=Ø1˜×1Ñ1Ñ;°FÑ;×;Ð;ä)¨+Ó6Ð6ð 3øà6øà;ús3   ‚5B'·B!¸,B'Á$B#Á%,B'ÂB%ÂB'Â#B'Â%B'c              ƒ   ó˜   K  — | j                  |||ddt        t        j                  «       dz  «      ¬«      ƒ d {  –—† }|d   d   S 7 Œ­w)Nr   r   rî   râ  rå  ræ  s        r…   rè  z)AsyncClient._get_earliest_valid_timestamp¤  sU   è ø€ à—l‘lØ#ØØØØÜœŸ	™	› dÑ*Ó+ð #ó 
÷ 
ˆð �Q‰x˜‰{Ðð
ús   ‚9A
»A¼A
rî   c              ƒ   óL   K  — | j                  ||||||¬«      ƒ d {  –—† S 7 Œ­w©NrÊ  rë  rí  s          r…   rî  z!AsyncClient.get_historical_klines±  s9   è ø€ à×,Ñ,¨V°X¸yÐRYÐafÐtÐ,ó  A÷  Að  	Að  Aús   ‚$�"ž$c              ƒ   óÎ  K  — g }t        |«      }t        |«      }	|	�'| j                  |||«      ƒ d {  –—† }
t        |	|
«      }	t        |«      }|r	|	r||	k  r|S d}	 | j	                  |||||	|¬«      ƒ d {  –—† }|r||z  }t        |«      rt        |«      |k  r	 |S |d   d   |z   }	|r|	|k\  r	 |S |dz  }|dz  dk(  rt        j                  d«      ƒ d {  –—†  Œ‚7 Œ«7 Œi7 Œ	­w©Nr   râ  rË  r   r¥   ©r   r   rè  rñ  rà  rÍ  Úasynciorò  ró  s                 r…   rì  zAsyncClient._historical_klines¶  s9  è ø€ ð ˆô -¨XÓ6ˆ	ô " )Ó,ˆØÐØ#'×#EÑ#EÀfÈhÐXcÓ#d×dˆNÜ˜8 ^Ó4ˆHô   Ó(ˆÙ‘h 6¨XÒ#5ØÐàˆØà"Ÿl™lØ'ØØ!ØØ"Øð +ó ÷ ˆIñ Ø˜yÑ(�ô �y”>¤S¨£^°eÒ%;àð Ðð ! ‘} QÑ'¨)Ñ3ˆHñ ˜( fÒ,Øð Ðð	 �1‰HˆCØ�Q‰w˜!Š|Ü—m‘m AÓ&×&Ð&ðA ð eøðøð< 'ús5   ‚1C%³C´AC%Á7C!Á8A!C%ÃC#ÃC%Ã!C%Ã#C%c              ƒ   ó8   K  — | j                  ||||||¬«      S ­wrn  rú  rí  s          r…   rü  z+AsyncClient.get_historical_klines_generatorð  s,   è ø€ à×0Ñ0Ø�H˜i°ÀÐS^ð 1ó 
ð 	
ùs   ‚c                óÎ  K  — t        |«      }t        |«      }|�'| j                  |||«      ƒ d {  –—† }	t        ||	«      }t        |«      }
|
r|r|
|k  ry d}	 | j	                  ||||||
¬«      ƒ d {  –—† }|r|D ]  }|­–— Œ	 t        |«      rt        |«      |k  ry |d   d   |z   }|
r||
k\  ry |dz  }|dz  dk(  rt        j                  d«      ƒ d {  –—†  Œ…7 Œ­7 Œl7 Œ	­wrp  rq  rþ  s                 r…   rû  z(AsyncClient._historical_klines_generator÷  s(  è ø€ ô -¨XÓ6ˆ	ô " )Ó,ˆð ÐØ#'×#EÑ#EÀfÈhÐXcÓ#d×dˆNÜ˜8 ^Ó4ˆHô   Ó(ˆÙ‘h 6¨XÒ#5ØàˆØà $§¡Ø'ØØ!ØØ"Øð !-ó !÷ ˆKñ Û$�AØ”Gð %ô
 �{Ô#¤s¨;Ó'7¸%Ò'?àð # 2‘ qÑ)¨IÑ5ˆHñ ˜( fÒ,Øð �1‰HˆCØ�Q‰w˜!Š|Ü—m‘m AÓ&×&Ð&ðA ð eøðøð< 'ús5   ‚/C%±C²AC%Á4C!Á5A$C%ÃC#ÃC%Ã!C%Ã#C%c              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nr  r±  rž  r¶  s     r…   r  zAsyncClient.get_avg_price.   s'   è ø€ Ø—Y‘Y˜z°À×@XÑ@X�YÓY×YÐYÐYúre  c              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nr  r±  rž  r¶  s     r…   r  zAsyncClient.get_ticker2   s'   è ø€ Ø—Y‘Y˜}°6À4×C[ÑC[�YÓ\×\Ð\Ð\úre  c              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nr­  r±  rž  r¶  s     r…   r  zAsyncClient.get_symbol_ticker6   s'   è ø€ Ø—Y‘Y˜~°FÀD×D\ÑD\�YÓ]×]Ð]Ð]úre  c              ‹   óZ   K  — | j                  d|| j                  ¬«      ƒ d {  –—† S 7 Œ­w)Nr°  r±  rž  r¶  s     r…   r	  z AsyncClient.get_orderbook_ticker:   s(   è ø€ Ø—Y‘YÐ2¸È×IaÑIa�YÓb×bÐbÐbúre  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nr  Trº  r  r¶  s     r…   r  zAsyncClient.create_order@   s!   è ø€ Ø—Z‘Z ¨°F�ZÓ;×;Ð;Ð;úó   ‚!š›!c              ‹   ó~   K  — |j                  | j                  |dœ«        | j                  di |¤Žƒ d {  –—† S 7 Œ­w)Nr  rÞ   r  r  s      r…   r  zAsyncClient.order_limitD   sA   è ø€ Ø�‰Ø×)Ñ)Ø&ñ
ô 	ð '�T×&Ñ&Ñ0¨Ñ0×0Ð0Ð0ús   ‚4=¶;·=c              ‹   ó€   K  — |j                  d| j                  i«        | j                  dd|i|¤Žƒ d {  –—† S 7 Œ­w©Nr  r  rÞ   r  r  s      r…   r  zAsyncClient.order_limit_buyL   sC   è ø€ Ø�‰Ø�D—M‘Mð
ô 	ð &�T×%Ñ%ÑH°+ÐHÀÑH×HÐHÐHúó   ‚5>·<¸>c              ‹   ó€   K  — |j                  d| j                  i«        | j                  dd|i|¤Žƒ d {  –—† S 7 Œ­wr~  r  r  s      r…   r  zAsyncClient.order_limit_sellS   sC   è ø€ Ø�‰Ø�D—N‘Nð
ô 	ð &�T×%Ñ%ÑH°+ÐHÀÑH×HÐHÐHúr  c              ‹   ó|   K  — |j                  d| j                  i«        | j                  di |¤Žƒ d {  –—† S 7 Œ­w)Nr  rÞ   r  r¶  s     r…   r  zAsyncClient.order_marketZ   s@   è ø€ Ø�‰Ø�D×*Ñ*ð
ô 	ð '�T×&Ñ&Ñ0¨Ñ0×0Ð0Ð0úó   ‚3<µ:¶<c              ‹   ó|   K  — |j                  d| j                  i«        | j                  di |¤Žƒ d {  –—† S 7 Œ­w©Nr  rÞ   r   r¶  s     r…   r!  zAsyncClient.order_market_buya   s>   è ø€ Ø�‰Ø�D—M‘Mð
ô 	ð '�T×&Ñ&Ñ0¨Ñ0×0Ð0Ð0úr‚  c              ‹   ó|   K  — |j                  d| j                  i«        | j                  di |¤Žƒ d {  –—† S 7 Œ­wr„  r#  r¶  s     r…   r$  zAsyncClient.order_market_sellh   s>   è ø€ Ø�‰Ø�D—N‘Nð
ô 	ð '�T×&Ñ&Ñ0¨Ñ0×0Ð0Ð0úr‚  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nr&  Trº  r  r¶  s     r…   r'  zAsyncClient.create_oco_ordero   s!   è ø€ Ø—Z‘Z ¨T¸�ZÓ?×?Ð?Ð?úr{  c              ‹   ó|   K  — |j                  d| j                  i«        | j                  di |¤Žƒ d {  –—† S 7 Œ­wr„  r)  r¶  s     r…   r*  zAsyncClient.order_oco_buys   s>   è ø€ Ø�‰Ø�D—M‘Mð
ô 	ð +�T×*Ñ*Ñ4¨VÑ4×4Ð4Ð4úr‚  c              ‹   ó|   K  — |j                  d| j                  i«        | j                  di |¤Žƒ d {  –—† S 7 Œ­wr„  r,  r¶  s     r…   r-  zAsyncClient.order_oco_sellz   s>   è ø€ Ø�‰Ø�D—N‘Nð
ô 	ð +�T×*Ñ*Ñ4¨VÑ4×4Ð4Ð4úr‚  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nr/  Trº  r  r¶  s     r…   r0  zAsyncClient.create_test_order�   s!   è ø€ Ø—Z‘Z ¨d¸�ZÓ@×@Ð@Ð@úr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrz  r»  r¶  s     r…   r2  zAsyncClient.get_order…   s!   è ø€ Ø—Y‘Y˜w¨°6�YÓ:×:Ð:Ð:úr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nr4  Trº  r»  r¶  s     r…   r5  zAsyncClient.get_all_orders‰   s!   è ø€ Ø—Y‘Y˜{¨D°v�YÓ>×>Ð>Ð>úr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrz  r7  r¶  s     r…   r8  zAsyncClient.cancel_order�   s!   è ø€ Ø—\‘\ '¨4°f�\Ó=×=Ð=Ð=úr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nr:  Trº  r»  r¶  s     r…   r;  zAsyncClient.get_open_orders‘   s!   è ø€ Ø—Y‘Y˜|¨T¸�YÓ?×?Ð?Ð?úr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nr=  Trº  r»  r¶  s     r…   r>  zAsyncClient.get_open_oco_orders•   ó!   è ø€ Ø—Y‘Y˜°¸6�YÓB×BÐBÐBúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nr@  Trº  r»  r¶  s     r…   rA  zAsyncClient.get_accountš   s!   è ø€ Ø—Y‘Y˜y¨$°V�YÓ<×<Ð<Ð<úr{  c              ‹   ó°   K  —  | j                   di |¤Žƒ d {  –—† }d|v r2|d   D ]*  }|d   j                  «       |j                  «       k(  sŒ(|c S  y 7 Œ;­w)NrC  rD  rÞ   rE  rG  s        r…   rI  zAsyncClient.get_asset_balancež   s^   è ø€ Ø$�D×$Ñ$Ñ. vÑ.×.ˆà˜ÑØ˜:”�Ø�w‘<×%Ñ%Ó'¨5¯;©;«=Ó8Ø’Jð 'ð ð /ús   ‚A˜A™4AÁAc              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)NrK  Trº  r»  r¶  s     r…   rL  zAsyncClient.get_my_trades¨   s!   è ø€ Ø—Y‘Y˜z¨4°f�YÓ=×=Ð=Ð=úr{  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­w)NrN  Tr»  r�   s    r…   rO  z#AsyncClient.get_current_order_count¬   s   è ø€ Ø—Y‘YÐ0°$Ó7×7Ð7Ð7úó   ‚˜™c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)NrQ  Trº  r»  r¶  s     r…   rR  z!AsyncClient.get_prevented_matches°   s"   è ø€ Ø—Y‘YÐ3°TÀ�YÓG×GÐGÐGúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)NrT  Trº  r»  r¶  s     r…   rU  zAsyncClient.get_allocations´   r�  r{  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­w)Nrð   rW  rX  r�   s    r…   rY  zAsyncClient.get_system_status¸   s   è ø€ Ø×-Ñ-¨e°_ÓE×EÐEÐEúr”  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r[  Trº  rX  r¶  s     r…   r\  zAsyncClient.get_account_status¼   ó(   è ø€ Ø×-Ñ-¨eÐ5EÀtÐRXÐ-ÓY×YÐYÐYúó   ‚"› œ"c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r^  Trº  rX  r¶  s     r…   r_  z*AsyncClient.get_account_api_trading_statusÀ   ó)   è ø€ Ø×-Ñ-¨eÐ5OÐQUÐ\bÐ-Óc×cÐcÐcúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   ra  Trº  rX  r¶  s     r…   rb  z'AsyncClient.get_account_api_permissionsÄ   ó)   è ø€ Ø×-Ñ-¨eÐ5NÐPTÐ[aÐ-Ób×bÐbÐbúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rd  Trº  rX  r¶  s     r…   re  zAsyncClient.get_dust_assetsÈ   s(   è ø€ Ø×-Ñ-¨fÐ6FÈÐSYÐ-ÓZ×ZÐZÐZúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rg  Trº  rX  r¶  s     r…   rh  zAsyncClient.get_dust_logÌ   r™  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rj  Trº  rX  r¶  s     r…   rk  zAsyncClient.transfer_dustÐ   s&   è ø€ Ø×-Ñ-¨f°lÀDÈvÐ-ÓV×VÐVÐVúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rm  Trº  rX  r¶  s     r…   rn  z&AsyncClient.get_asset_dividend_historyÔ   s(   è ø€ Ø×-Ñ-¨eÐ5JÈDÐW]Ð-Ó^×^Ð^Ð^úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©NrŒ  rp  Trq  rX  r¶  s     r…   rr  z#AsyncClient.make_universal_transferØ   ó(   è ø€ Ø×-Ñ-¨fÐ6FÈtÐZ`Ð-Óa×aÐaÐaúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rp  Trq  rX  r¶  s     r…   rt  z,AsyncClient.query_universal_transfer_historyÜ   s(   è ø€ Ø×-Ñ-¨eÐ5EÈdÐY_Ð-Ó`×`Ð`Ð`úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rv  Trº  rX  r¶  s     r…   rw  zAsyncClient.get_trade_feeà   r™  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   ry  Trº  rX  r¶  s     r…   rz  zAsyncClient.get_asset_detailsä   s(   è ø€ Ø×-Ñ-¨eÐ5HÈ$ÐU[Ð-Ó\×\Ð\Ð\úrš  c              ‹   óh   K  — d|v rd|vr|d   |d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr|  r}  rŒ  r~  Trº  rX  r¶  s     r…   r  zAsyncClient.withdrawê   sE   è ø€ à�VÑ ¨fÑ 4Ø# F™^ˆF�6‰NØ×-Ñ-¨fÐ6NÐPTÐ[aÐ-Ób×bÐbÐbúó   ‚)2«0¬2c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r�  Trº  rX  r¶  s     r…   r‚  zAsyncClient.get_deposit_historyñ   s(   è ø€ Ø×-Ñ-¨eÐ5MÈtÐZ`Ð-Óa×aÐaÐaúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r„  Trº  rX  r¶  s     r…   r…  z AsyncClient.get_withdraw_historyõ   rœ  rš  c              ‹   óŠ   K  —  | j                   di |¤Žƒ d {  –—† }|D ]  }d|v sŒ|d   |k(  sŒ|c S  t        d|«      ‚7 Œ(­w)Nr‡  rˆ  rÞ   r‰  r‹  s        r…   r�  z#AsyncClient.get_withdraw_history_idù   sT   è ø€ Ø0�t×0Ñ0Ñ:°6Ñ:×:ˆãˆEØ�uŠ}  t¡°Ó!;Ø’ð ô Ð<¸fÓEÐEð ;ús   ‚A˜A™A§A°Ar|  r�  c              ‹   ó`   K  — ||d<   |r||d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr|  r�  rð   r’  Trº  rX  r“  s       r…   r”  zAsyncClient.get_deposit_address!  s?   è ø€ Øˆˆv‰ÙØ 'ˆF�9ÑØ×-Ñ-¨eÐ5NÐPTÐ[aÐ-Ób×bÐbÐbús   ‚%.§,¨.c              ƒ   óP   K  — | j                  ddi ¬«      ƒ d {  –—† }|d   S 7 Œ	­w)Nr–  Frº  r—  r  r˜  s     r…   r™  z!AsyncClient.stream_get_listen_key!  s/   è ø€ Ø—J‘JÐ/°¸R�JÓ@×@ˆØ�;ÑÐð Aús   ‚&š$›
&c              ƒ   óN   K  — d|i}| j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nr—  r–  Frº  )r‘  r›  s      r…   rœ  zAsyncClient.stream_keepalive!  s0   è ø€ à˜ð
ˆð —Y‘YÐ/°¸V�YÓD×DÐDÐDúó   ‚%ž#Ÿ%c              ƒ   óN   K  — d|i}| j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr±  r7  r›  s      r…   rž  zAsyncClient.stream_close!  s0   è ø€ à˜ð
ˆð —\‘\Ð"2°EÀ�\ÓG×GÐGÐGúr²  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r   Trº  rX  r¶  s     r…   r¡  zAsyncClient.get_margin_account !  r™  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r£  Trº  rX  r¶  s     r…   r¤  z'AsyncClient.get_isolated_margin_account$!  rž  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r£  Trº  rX  r¶  s     r…   r¦  z*AsyncClient.enable_isolated_margin_account(!  ó)   è ø€ Ø×-Ñ-¨fÐ6OÐQUÐ\bÐ-Óc×cÐcÐcúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr”  r£  Trº  rX  r¶  s     r…   r¨  z+AsyncClient.disable_isolated_margin_account,!  s)   è ø€ Ø×-Ñ-¨hÐ8QÐSWÐ^dÐ-Óe×eÐeÐeúrš  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rª  rº  rX  r¶  s     r…   r«  zAsyncClient.get_margin_asset0!  s$   è ø€ Ø×-Ñ-¨e°^È&Ð-ÓQ×QÐQÐQúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r­  rº  rX  r¶  s     r…   r®  zAsyncClient.get_margin_symbol4!  s$   è ø€ Ø×-Ñ-¨e°]ÈÐ-ÓP×PÐPÐPúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r°  rº  rX  r¶  s     r…   r±  z!AsyncClient.get_margin_all_assets8!  s%   è ø€ Ø×-Ñ-¨eÐ5GÈfÐ-ÓU×UÐUÐUúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r³  rº  rX  r¶  s     r…   r´  z AsyncClient.get_margin_all_pairs<!  s%   è ø€ Ø×-Ñ-¨eÐ5FÈVÐ-ÓT×TÐTÐTúr{  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r¶  Trq  rX  r¶  s     r…   r·  z*AsyncClient.create_isolated_margin_account@!  ó)   è ø€ Ø×-Ñ-¨fÐ6NÐW[ÐbhÐ-Ói×iÐiÐiúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r¹  Trq  rX  r¶  s     r…   rº  z&AsyncClient.get_isolated_margin_symbolD!  ó)   è ø€ Ø×-Ñ-¨eÐ5KÐTXÐ_eÐ-Óf×fÐfÐfúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r¼  Trq  rX  r¶  s     r…   r½  z+AsyncClient.get_all_isolated_margin_symbolsH!  s)   è ø€ Ø×-Ñ-¨eÐ5OÐX\ÐciÐ-Ój×jÐjÐjúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r¿  Trq  rX  r¶  s     r…   rÀ  z'AsyncClient.toggle_bnb_burn_spot_marginL!  s'   è ø€ Ø×-Ñ-¨f°iÈÐSYÐ-ÓZ×ZÐZÐZúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r¿  Trq  rX  r¶  s     r…   rÂ  z$AsyncClient.get_bnb_burn_spot_marginP!  s'   è ø€ Ø×-Ñ-¨e°YÀtÐRXÐ-ÓY×YÐYÐYúrš  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÄ  rº  rX  r¶  s     r…   rÅ  z"AsyncClient.get_margin_price_indexT!  s%   è ø€ Ø×-Ñ-¨eÐ5HÈvÐ-ÓV×VÐVÐVúr{  c              ‹   óR   K  — d|d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr¤   r  rŒ  rÇ  Trq  rX  r¶  s     r…   rÈ  z#AsyncClient.transfer_margin_to_spotX!  ó2   è ø€ Øˆˆv‰Ø×-Ñ-¨fÐ6GÐPTÐ[aÐ-Ób×bÐbÐbúó   ‚' %¡'c              ‹   óR   K  — d|d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr   r  rŒ  rÇ  Trq  rX  r¶  s     r…   rË  z#AsyncClient.transfer_spot_to_margin]!  rÆ  rÇ  c              ‹   ó\   K  — d|d<   d|d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)	NrÍ  rÎ  r%   rÏ  rŒ  rÐ  Trq  rX  r¶  s     r…   rÑ  z,AsyncClient.transfer_isolated_margin_to_spotb!  s=   è ø€ Ø/ˆˆ{ÑØ"ˆˆyÑØ×-Ñ-¨fÐ6PÐY]ÐdjÐ-Ók×kÐkÐkúó   ‚#,¥*¦,c              ‹   ó\   K  — d|d<   d|d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)	Nr%   rÎ  rÍ  rÏ  rŒ  rÐ  Trq  rX  r¶  s     r…   rÓ  z,AsyncClient.transfer_spot_to_isolated_marginh!  s=   è ø€ Ø$ˆˆ{ÑØ-ˆˆyÑØ×-Ñ-¨fÐ6PÐY]ÐdjÐ-Ók×kÐkÐkúrÊ  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r×  Trq  rX  r¶  s     r…   rØ  zAsyncClient.create_margin_loann!  s'   è ø€ Ø×-Ñ-¨f°mÈDÐW]Ð-Ó^×^Ð^Ð^úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rÚ  Trq  rX  r¶  s     r…   rÛ  zAsyncClient.repay_margin_loanr!  ó'   è ø€ Ø×-Ñ-¨f°nÈTÐX^Ð-Ó_×_Ð_Ð_úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rÝ  Trq  rX  r¶  s     r…   rÞ  zAsyncClient.create_margin_orderv!  rÎ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr”  rÝ  Trq  rX  r¶  s     r…   rà  zAsyncClient.cancel_margin_orderz!  s'   è ø€ Ø×-Ñ-¨h¸ÈtÐZ`Ð-Óa×aÐaÐaúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  râ  Trq  rX  r¶  s     r…   rã  z#AsyncClient.set_margin_max_leverage~!  ó)   è ø€ Ø×-Ñ-¨fÐ6KÐTXÐ_eÐ-Óf×fÐfÐfúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÇ  Trq  rX  r¶  s     r…   rå  z'AsyncClient.get_margin_transfer_history‚!  ó(   è ø€ Ø×-Ñ-¨eÐ5FÈtÐZ`Ð-Óa×aÐaÐaúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r×  Trq  rX  r¶  s     r…   rç  z#AsyncClient.get_margin_loan_details†!  ó'   è ø€ Ø×-Ñ-¨e°]È4ÐV\Ð-Ó]×]Ð]Ð]úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÚ  Trq  rX  r¶  s     r…   ré  z$AsyncClient.get_margin_repay_detailsŠ!  ó'   è ø€ Ø×-Ñ-¨e°^ÈDÐW]Ð-Ó^×^Ð^Ð^úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rë  Trq  rX  r¶  s     r…   rì  z!AsyncClient.get_cross_margin_data�!  ó)   è ø€ Ø×-Ñ-¨eÐ5MÐVZÐagÐ-Óh×hÐhÐhúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rî  Trq  rX  r¶  s     r…   rï  z'AsyncClient.get_margin_interest_history�!  rÚ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rñ  Trq  rX  r¶  s     r…   rò  z,AsyncClient.get_margin_force_liquidation_rec“!  ó)   è ø€ Ø×-Ñ-¨eÐ5QÐZ^ÐekÐ-Ól×lÐlÐlúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÝ  Trq  rX  r¶  s     r…   rô  zAsyncClient.get_margin_order–!  rØ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rö  Trq  rX  r¶  s     r…   r÷  z"AsyncClient.get_open_margin_orders™!  ó)   è ø€ Ø×-Ñ-¨eÐ5HÐQUÐ\bÐ-Óc×cÐcÐcúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rù  Trq  rX  r¶  s     r…   rú  z!AsyncClient.get_all_margin_ordersœ!  ó)   è ø€ Ø×-Ñ-¨eÐ5GÐPTÐ[aÐ-Ób×bÐbÐbúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rü  Trq  rX  r¶  s     r…   rý  zAsyncClient.get_margin_tradesŸ!  rÔ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÿ  Trq  rX  r¶  s     r…   r   zAsyncClient.get_max_margin_loan¢!  rÀ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rX  r¶  s     r…   r  z#AsyncClient.get_max_margin_transfer¥!  rÚ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r  Trq  rX  r¶  s     r…   r  z#AsyncClient.create_margin_oco_orderª!  ó)   è ø€ Ø×-Ñ-¨fÐ6HÐQUÐ\bÐ-Óc×cÐcÐcúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr”  r  Trq  rX  r¶  s     r…   r	  z#AsyncClient.cancel_margin_oco_order­!  s)   è ø€ Ø×-Ñ-¨hÐ8JÐSWÐ^dÐ-Óe×eÐeÐeúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rX  r¶  s     r…   r  z AsyncClient.get_margin_oco_order°!  râ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rX  r¶  s     r…   r  z&AsyncClient.get_open_margin_oco_orders³!  ó)   è ø€ Ø×-Ñ-¨eÐ5JÐSWÐ^dÐ-Óe×eÐeÐeúrš  c              ƒ   óR   K  — | j                  dddi ¬«      ƒ d {  –—† }|d   S 7 Œ	­w)NrŒ  r–  Frq  r—  rX  r˜  s     r…   r  z(AsyncClient.margin_stream_get_listen_key¸!  s5   è ø€ Ø×,Ñ,¨VÐ5EÈeÐZ\Ð,Ó]×]ˆØ�;ÑÐð ^úó   ‚'›%œ
'c              ƒ   óP   K  — d|i}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr—  r�  r–  Frq  rX  r›  s      r…   r  z#AsyncClient.margin_stream_keepalive¼!  s6   è ø€ à˜ð
ˆð ×-Ñ-¨eÐ5EÈeÐZ`Ð-Óa×aÐaÐaúó   ‚&Ÿ$ &c              ƒ   óP   K  — d|i}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr—  r”  r–  Frq  rX  r›  s      r…   r  zAsyncClient.margin_stream_closeÂ!  s7   è ø€ à˜ð
ˆð ×-Ñ-¨hÐ8HÐQVÐ]cÐ-Ód×dÐdÐdúrï  c              ƒ   óZ   K  — d|i}| j                  ddd|¬«      ƒ d {  –—† }|d   S 7 Œ	­w)Nr¢  rŒ  r  Frq  r—  rX  r  s       r…   r  z1AsyncClient.isolated_margin_stream_get_listen_keyÊ!  sD   è ø€ à�fð
ˆð ×,Ñ,¨VÐ5NÐW\ÐciÐ,Ój×jˆØ�;ÑÐð kús   ‚+Ÿ) 
+c              ƒ   óR   K  — ||dœ}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr  r�  r  Frq  rX  r  s       r…   r  z,AsyncClient.isolated_margin_stream_keepaliveÑ!  s8   è ø€ àØ"ñ
ˆð ×-Ñ-¨eÐ5NÐW\ÐciÐ-Ój×jÐjÐjúrÇ  c              ƒ   óR   K  — ||dœ}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr  r”  r  Frq  rX  r  s       r…   r  z(AsyncClient.isolated_margin_stream_closeØ!  s8   è ø€ àØ"ñ
ˆð ×-Ñ-¨hÐ8QÐZ_ÐflÐ-Óm×mÐmÐmúrÇ  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r   Trq  rX  r¶  s     r…   r!  z$AsyncClient.get_lending_product_listá!  rÝ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r#  Trq  rX  r¶  s     r…   r$  z(AsyncClient.get_lending_daily_quota_leftä!  s)   è ø€ Ø×-Ñ-¨eÐ5RÐ[_ÐflÐ-Óm×mÐmÐmúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r&  Trq  rX  r¶  s     r…   r'  z$AsyncClient.purchase_lending_productç!  r¾  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r*  Trq  rX  r¶  s     r…   r+  z.AsyncClient.get_lending_daily_redemption_quotaê!  s)   è ø€ Ø×-Ñ-¨eÐ5XÐaeÐlrÐ-Ós×sÐsÐsúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r-  Trq  rX  r¶  s     r…   r.  z"AsyncClient.redeem_lending_productí!  s)   è ø€ Ø×-Ñ-¨fÐ6LÐUYÐ`fÐ-Óg×gÐgÐgúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r0  Trq  rX  r¶  s     r…   r1  z AsyncClient.get_lending_positionð!  ó)   è ø€ Ø×-Ñ-¨eÐ5SÐ\`ÐgmÐ-Ón×nÐnÐnúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r4  Trq  rX  r¶  s     r…   r5  z+AsyncClient.get_fixed_activity_project_listó!  rÀ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r7  Trq  rX  r¶  s     r…   r8  zAsyncClient.get_lending_accountö!  s)   è ø€ Ø×-Ñ-¨eÐ5LÐUYÐ`fÐ-Óg×gÐgÐgúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r:  Trq  rX  r¶  s     r…   r;  z(AsyncClient.get_lending_purchase_historyù!  rú  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r=  Trq  rX  r¶  s     r…   r>  z*AsyncClient.get_lending_redemption_historyü!  s)   è ø€ Ø×-Ñ-¨eÐ5UÐ^bÐioÐ-Óp×pÐpÐpúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r@  Trq  rX  r¶  s     r…   rA  z(AsyncClient.get_lending_interest_historyÿ!  s)   è ø€ Ø×-Ñ-¨eÐ5TÐ]aÐhnÐ-Óo×oÐoÐoúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rC  Trq  rX  r¶  s     r…   rD  z3AsyncClient.change_fixed_activity_to_daily_position"  s)   è ø€ Ø×-Ñ-¨fÐ6OÐX\ÐciÐ-Ój×jÐjÐjúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rF  Trq  rX  r¶  s     r…   rG  z$AsyncClient.get_staking_product_list"  rë  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rI  Trq  rX  r¶  s     r…   rJ  z$AsyncClient.purchase_staking_product
"  rç  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rL  Trq  rX  r¶  s     r…   rM  z"AsyncClient.redeem_staking_product"  r¥  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rO  Trq  rX  r¶  s     r…   rP  z AsyncClient.get_staking_position"  râ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rR  Trq  rX  r¶  s     r…   rS  z(AsyncClient.get_staking_purchase_history"  rÚ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rU  Trq  rX  r¶  s     r…   rV  zAsyncClient.set_auto_staking"  r¾  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rX  Trq  rX  r¶  s     r…   rY  z#AsyncClient.get_personal_left_quota"  s)   è ø€ Ø×-Ñ-¨eÐ5PÐY]ÐdjÐ-Ók×kÐkÐkúrš  c              ‹   ót   K  — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr[  r\  rð   r]  Trº  r^  r¶  s     r…   r_  z AsyncClient.get_staking_asset_us"  s?   è ø€ Ø�x‰x˜4ÒÐHÐ!HÓHÐØ×-Ñ-¨e°_ÀdÐQWÐ-ÓX×XÐXÐXúó   ‚/8±6²8c              ‹   ót   K  — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr[  r\  rŒ  ra  Trº  r^  r¶  s     r…   rb  zAsyncClient.stake_asset_us#"  s?   è ø€ Ø�x‰x˜4ÒÐHÐ!HÓHÐØ×-Ñ-¨f°oÀtÐRXÐ-ÓY×YÐYÐYúr	  c              ‹   ót   K  — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr[  r\  rŒ  rd  Trº  r^  r¶  s     r…   re  zAsyncClient.unstake_asset_us("  s@   è ø€ Ø�x‰x˜4ÒÐHÐ!HÓHÐØ×-Ñ-¨fÐ6GÈÐTZÐ-Ó[×[Ð[Ð[úr	  c              ‹   ót   K  — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr[  r\  rð   rg  Trº  r^  r¶  s     r…   rh  z"AsyncClient.get_staking_balance_us-"  s@   è ø€ Ø�x‰x˜4ÒÐHÐ!HÓHÐØ×-Ñ-¨eÐ5MÈtÐZ`Ð-Óa×aÐaÐaúr	  c              ‹   ót   K  — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr[  r\  rð   rj  Trº  r^  r¶  s     r…   rk  z"AsyncClient.get_staking_history_us2"  s@   è ø€ Ø�x‰x˜4ÒÐHÐ!HÓHÐØ×-Ñ-¨eÐ5FÈÐSYÐ-ÓZ×ZÐZÐZúr	  c              ‹   ót   K  — | j                   dk(  sJ d«       ‚| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr[  r\  rð   rm  Trº  r^  r¶  s     r…   rn  z*AsyncClient.get_staking_rewards_history_us7"  sA   è ø€ Ø�x‰x˜4ÒÐHÐ!HÓHÐØ×-Ñ-¨eÐ5TÐVZÐagÐ-Óh×hÐhÐhúr	  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rp  Trº  rX  r¶  s     r…   rq  z AsyncClient.get_sub_account_list>"  ó(   è ø€ Ø×-Ñ-¨eÐ5GÈÐTZÐ-Ó[×[Ð[Ð[úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rs  Trº  rX  r¶  s     r…   rt  z,AsyncClient.get_sub_account_transfer_historyA"  s)   è ø€ Ø×-Ñ-¨eÐ5WÐY]ÐdjÐ-Ók×kÐkÐkúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rv  Trº  rX  r¶  s     r…   rw  z4AsyncClient.get_sub_account_futures_transfer_historyD"  s)   è ø€ Ø×-Ñ-¨eÐ5[Ð]aÐhnÐ-Óo×oÐoÐoúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rv  Trº  rX  r¶  s     r…   ry  z/AsyncClient.create_sub_account_futures_transferG"  s)   è ø€ Ø×-Ñ-¨fÐ6\Ð^bÐioÐ-Óp×pÐpÐpúrš  c              ‹   óJ   K  — | j                  ddd|d¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r{  Tr¦   r±  rX  r¶  s     r…   r|  z"AsyncClient.get_sub_account_assetsJ"  s+   è ø€ Ø×-Ñ-¨eÐ5IÈ4ÐV\ÐfgÐ-Óh×hÐhÐhúrV  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r~  Trº  rX  r¶  s     r…   r  z)AsyncClient.query_subaccount_spot_summaryM"  rž  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r�  Trº  rX  r¶  s     r…   r‚  z*AsyncClient.get_subaccount_deposit_addressP"  ó)   è ø€ Ø×-Ñ-¨eÐ5QÐSWÐ^dÐ-Óe×eÐeÐeúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r„  Trº  rX  r¶  s     r…   r…  z*AsyncClient.get_subaccount_deposit_historyS"  s)   è ø€ Ø×-Ñ-¨eÐ5PÐRVÐ]cÐ-Ód×dÐdÐdúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r‡  Trº  rX  r¶  s     r…   rˆ  z0AsyncClient.get_subaccount_futures_margin_statusV"  s(   è ø€ Ø×-Ñ-¨eÐ5IÈ4ÐV\Ð-Ó]×]Ð]Ð]úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rŠ  Trº  rX  r¶  s     r…   r‹  z$AsyncClient.enable_subaccount_marginY"  ó)   è ø€ Ø×-Ñ-¨fÐ6QÐSWÐ^dÐ-Óe×eÐeÐeúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r�  Trº  rX  r¶  s     r…   rŽ  z)AsyncClient.get_subaccount_margin_details\"  r  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r�  Trº  rX  r¶  s     r…   r‘  z)AsyncClient.get_subaccount_margin_summary_"  s)   è ø€ Ø×-Ñ-¨eÐ5XÐZ^ÐekÐ-Ól×lÐlÐlúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r“  Trº  rX  r¶  s     r…   r”  z%AsyncClient.enable_subaccount_futuresb"  s)   è ø€ Ø×-Ñ-¨fÐ6RÐTXÐ_eÐ-Óf×fÐfÐfúrš  c              ‹   óJ   K  — | j                  ddd|d¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r–  Tr¤   r±  rX  r¶  s     r…   r—  z*AsyncClient.get_subaccount_futures_detailse"  s,   è ø€ Ø×-Ñ-¨eÐ5RÐTXÐ_eÐopÐ-Óq×qÐqÐqúrV  c              ‹   óJ   K  — | j                  ddd|d¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r™  Tr¤   r±  rX  r¶  s     r…   rš  z*AsyncClient.get_subaccount_futures_summaryh"  s,   è ø€ Ø×-Ñ-¨eÐ5YÐ[_ÐflÐvwÐ-Óx×xÐxÐxúrV  c              ‹   óJ   K  — | j                  ddd|d¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rœ  Tr¤   r±  rX  r¶  s     r…   r�  z/AsyncClient.get_subaccount_futures_positionriskk"  s,   è ø€ Ø×-Ñ-¨eÐ5WÐY]ÐdjÐtuÐ-Óv×vÐvÐvúrV  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rŸ  Trº  rX  r¶  s     r…   r   z,AsyncClient.make_subaccount_futures_transfern"  s)   è ø€ Ø×-Ñ-¨fÐ6TÐVZÐagÐ-Óh×hÐhÐhúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r¢  Trº  rX  r¶  s     r…   r£  z+AsyncClient.make_subaccount_margin_transferq"  s)   è ø€ Ø×-Ñ-¨fÐ6SÐUYÐ`fÐ-Óg×gÐgÐgúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r¥  Trº  rX  r¶  s     r…   r¦  z2AsyncClient.make_subaccount_to_subaccount_transfert"  ó)   è ø€ Ø×-Ñ-¨fÐ6UÐW[ÐbhÐ-Ói×iÐiÐiúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r¨  Trº  rX  r¶  s     r…   r©  z.AsyncClient.make_subaccount_to_master_transferw"  s)   è ø€ Ø×-Ñ-¨fÐ6XÐZ^ÐekÐ-Ól×lÐlÐlúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r«  Trº  rX  r¶  s     r…   r¬  z+AsyncClient.get_subaccount_transfer_historyz"  s)   è ø€ Ø×-Ñ-¨eÐ5ZÐ\`ÐgmÐ-Ón×nÐnÐnúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r®  Trº  rX  r¶  s     r…   r¯  z.AsyncClient.make_subaccount_universal_transfer}"  r%  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r®  Trº  rX  r¶  s     r…   r±  z*AsyncClient.get_universal_transfer_history€"  s)   è ø€ Ø×-Ñ-¨eÐ5TÐVZÐagÐ-Óh×hÐhÐhúrš  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­w©Nrð   rV  r³  r�   s    r…   r´  zAsyncClient.futures_ping…"  ó   è ø€ Ø×.Ñ.¨u°fÓ=×=Ð=Ð=úr”  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­w©Nrð   rö   r³  r�   s    r…   r·  zAsyncClient.futures_timeˆ"  r,  r”  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­w©Nrð   r�  r³  r�   s    r…   r¹  z!AsyncClient.futures_exchange_info‹"  ó   è ø€ Ø×.Ñ.¨u°nÓE×EÐEÐEúr”  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rµ  rº  r³  r¶  s     r…   r¼  zAsyncClient.futures_order_bookŽ"  ó$   è ø€ Ø×.Ñ.¨u°gÀFÐ.ÓK×KÐKÐKúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r¹  rº  r³  r¶  s     r…   r¾  z!AsyncClient.futures_recent_trades‘"  ó$   è ø€ Ø×.Ñ.¨u°hÀVÐ.ÓL×LÐLÐLúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r¾  rº  r³  r¶  s     r…   rÁ  z%AsyncClient.futures_historical_trades”"  ó%   è ø€ Ø×.Ñ.¨uÐ6HÈvÐ.ÓV×VÐVÐVúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rÁ  rº  r³  r¶  s     r…   rÄ  z$AsyncClient.futures_aggregate_trades—"  ó$   è ø€ Ø×.Ñ.¨u°kÈÐ.ÓO×OÐOÐOúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rÖ  rº  r³  r¶  s     r…   rÜ  zAsyncClient.futures_klinesš"  r7  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rÇ  rº  r³  r¶  s     r…   rÈ  z$AsyncClient.futures_continous_klines�"  r:  r{  c              ƒ   óh   K  — | j                  |||||t        j                  ¬«      ƒ d {  –—† S 7 Œ­wrn  rË  rÌ  s         r…   rÍ  z%AsyncClient.futures_historical_klines "  sK   è ø€ Ø×,Ñ,¨V°X¸yÐRYÐafô  uI÷  uQñ  uQÐ,ó  R÷  Rð  	Rð  Rúrª  c              ƒ   óR   K  — | j                  ||||t        j                  ¬«      S ­w)NrÏ  rÐ  rÑ  s        r…   rÒ  z/AsyncClient.futures_historical_klines_generator£"  s8   è ø€ Ø×0Ñ0°¸À9ÐV]Ôk÷  lHñ  lHÐ0ó  Ið  	Iùs   ‚%'c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rÔ  rº  r³  r¶  s     r…   rÕ  zAsyncClient.futures_mark_price¦"  ó$   è ø€ Ø×.Ñ.¨u°nÈ6Ð.ÓR×RÐRÐRúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rØ  rº  r³  r¶  s     r…   rÙ  z AsyncClient.futures_funding_rate©"  ó$   è ø€ Ø×.Ñ.¨u°mÈ&Ð.ÓQ×QÐQÐQúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÜ  rº  rÝ  r¶  s     r…   rÞ  z/AsyncClient.futures_top_longshort_account_ratio¬"  s&   è ø€ Ø×3Ñ3°EÐ;UÐ\bÐ3Óc×cÐcÐcúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rà  rº  rÝ  r¶  s     r…   rá  z0AsyncClient.futures_top_longshort_position_ratio¯"  s&   è ø€ Ø×3Ñ3°EÐ;VÐ]cÐ3Ód×dÐdÐdúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rã  rº  rÝ  r¶  s     r…   rä  z*AsyncClient.futures_global_longshort_ratio²"  s&   è ø€ Ø×3Ñ3°EÐ;XÐ_eÐ3Óf×fÐfÐfúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r  rº  r³  r¶  s     r…   ræ  zAsyncClient.futures_tickerµ"  rI  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r­  rº  r³  r¶  s     r…   rè  z!AsyncClient.futures_symbol_ticker¸"  rF  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r°  rº  r³  r¶  s     r…   rê  z$AsyncClient.futures_orderbook_ticker»"  s&   è ø€ Ø×.Ñ.¨uÐ6IÐPVÐ.ÓW×WÐWÐWúr{  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rì  Trq  r³  r¶  s     r…   rí  z&AsyncClient.futures_liquidation_orders¾"  ó'   è ø€ Ø×.Ñ.¨u°mÈDÐW]Ð.Ó^×^Ð^Ð^úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rð  Trq  r³  r¶  s     r…   rñ  z&AsyncClient.futures_api_trading_statusÁ"  s)   è ø€ Ø×.Ñ.¨uÐ6HÐQUÐ\bÐ.Óc×cÐcÐcúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   ró  Trq  r³  r¶  s     r…   rô  z"AsyncClient.futures_comission_rateÄ"  s(   è ø€ Ø×.Ñ.¨uÐ6FÈtÐZ`Ð.Óa×aÐaÐaúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rö  Trq  r³  r¶  s     r…   r÷  z)AsyncClient.futures_adl_quantile_estimateÇ"  rU  rš  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rù  rº  r³  r¶  s     r…   rú  z!AsyncClient.futures_open_interestÊ"  rF  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rü  rº  r³  r¶  s     r…   rý  zAsyncClient.futures_index_infoÍ"  r=  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rÿ  rº  rÝ  r¶  s     r…   r   z&AsyncClient.futures_open_interest_histÐ"  ó&   è ø€ Ø×3Ñ3°EÐ;MÐTZÐ3Ó[×[Ð[Ð[úr{  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trº  r³  r¶  s     r…   r  z$AsyncClient.futures_leverage_bracketÓ"  s(   è ø€ Ø×.Ñ.¨uÐ6GÈÐTZÐ.Ó[×[Ð[Ð[úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r  Trº  rX  r¶  s     r…   r  z$AsyncClient.futures_account_transferÖ"  s(   è ø€ Ø×-Ñ-¨fÐ6HÈ$ÐU[Ð-Ó\×\Ð\Ð\úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trº  rX  r¶  s     r…   r	  zAsyncClient.transfer_historyÙ"  r  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr  rX  r¶  s     r…   r  z'AsyncClient.futures_loan_borrow_historyÜ"  s)   è ø€ Ø×-Ñ-¨eÐ5RÐTXÐ_eÐ-Óf×fÐfÐfúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr  rX  r¶  s     r…   r  z&AsyncClient.futures_loan_repay_historyß"  r  rš  c              ‹   óJ   K  — | j                  ddd|d¬«      ƒ d {  –—† S 7 Œ­wr  rX  r¶  s     r…   r  zAsyncClient.futures_loan_walletâ"  s+   è ø€ Ø×-Ñ-¨eÐ5JÈDÐW]ÐghÐ-Ói×iÐiÐiúrV  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr  rX  r¶  s     r…   r  z3AsyncClient.futures_cross_collateral_adjust_historyå"  s)   è ø€ Ø×-Ñ-¨eÐ5\Ð^bÐioÐ-Óp×pÐpÐpúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr  rX  r¶  s     r…   r  z8AsyncClient.futures_cross_collateral_liquidation_historyè"  s)   è ø€ Ø×-Ñ-¨eÐ5VÐX\ÐciÐ-Ój×jÐjÐjúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr  rX  r¶  s     r…   r  z)AsyncClient.futures_loan_interest_historyë"  s)   è ø€ Ø×-Ñ-¨eÐ5SÐUYÐ`fÐ-Óg×gÐgÐgúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©NrŒ  r  Trº  r³  r¶  s     r…   r  z AsyncClient.futures_create_orderî"  s&   è ø€ Ø×.Ñ.¨v°wÀÈ6Ð.ÓR×RÐRÐRúrš  c              ‹   ó’   K  — t        |«      }|j                  dd«      }|dd  |d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nr  r   r!  r"  rŒ  Trº  r#  r%  s      r…   r&  z%AsyncClient.futures_place_batch_orderñ"  sT   è ø€ Ü  Ó(ˆØ#×+Ñ+¨E°5Ó9ˆØ ,¨R¨SÐ 1ˆˆ}ÑØ×.Ñ.¨v°}ÀdÐQWÐ.ÓX×XÐXÐXúó   ‚>AÁ AÁAc              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r  Trº  r³  r¶  s     r…   r(  zAsyncClient.futures_get_order÷"  s&   è ø€ Ø×.Ñ.¨u°g¸tÈ&Ð.ÓQ×QÐQÐQúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r:  Trº  r³  r¶  s     r…   r*  z#AsyncClient.futures_get_open_ordersú"  ó&   è ø€ Ø×.Ñ.¨u°lÀDÈvÐ.ÓV×VÐVÐVúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r4  Trº  r³  r¶  s     r…   r-  z"AsyncClient.futures_get_all_ordersý"  s&   è ø€ Ø×.Ñ.¨u°kÀ4ÈfÐ.ÓU×UÐUÐUúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr”  r  Trº  r³  r¶  s     r…   r/  z AsyncClient.futures_cancel_order #  s&   è ø€ Ø×.Ñ.¨x¸À$ÈVÐ.ÓT×TÐTÐTúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr”  r1  Trº  r³  r¶  s     r…   r2  z*AsyncClient.futures_cancel_all_open_orders#  s'   è ø€ Ø×.Ñ.¨x¸È$ÐU[Ð.Ó\×\Ð\Ð\úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nr”  r"  Trº  r³  r¶  s     r…   r4  z!AsyncClient.futures_cancel_orders#  s'   è ø€ Ø×.Ñ.¨x¸ÈÐSYÐ.ÓZ×ZÐZÐZúrš  c              ‹   óJ   K  — | j                  dddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r6  Tr¤   rb  r³  r¶  s     r…   r7  z#AsyncClient.futures_account_balance	#  ó)   è ø€ Ø×.Ñ.¨u°iÀÈqÐW]Ð.Ó^×^Ð^Ð^úrV  c              ‹   óJ   K  — | j                  dddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r@  Tr¤   rb  r³  r¶  s     r…   r:  zAsyncClient.futures_account#  rx  rV  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r<  Trº  r³  r¶  s     r…   r=  z#AsyncClient.futures_change_leverage#  s&   è ø€ Ø×.Ñ.¨v°zÀ4ÈfÐ.ÓU×UÐUÐUúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r?  Trº  r³  r¶  s     r…   r@  z&AsyncClient.futures_change_margin_type#  s'   è ø€ Ø×.Ñ.¨v°|ÀTÐPVÐ.ÓW×WÐWÐWúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©NrŒ  rB  Trº  r³  r¶  s     r…   rC  z*AsyncClient.futures_change_position_margin#  s(   è ø€ Ø×.Ñ.¨vÐ7GÈÐTZÐ.Ó[×[Ð[Ð[úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rE  Trº  r³  r¶  s     r…   rF  z+AsyncClient.futures_position_margin_history#  s)   è ø€ Ø×.Ñ.¨uÐ6NÐPTÐ[aÐ.Ób×bÐbÐbúrš  c              ‹   óJ   K  — | j                  dddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rH  Tr¤   rb  r³  r¶  s     r…   rI  z(AsyncClient.futures_position_information#  s*   è ø€ Ø×.Ñ.¨u°nÀdÐTUÐ\bÐ.Óc×cÐcÐcúrV  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rK  Trº  r³  r¶  s     r…   rL  z"AsyncClient.futures_account_trades#  rq  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rN  Trº  r³  r¶  s     r…   rO  z"AsyncClient.futures_income_history!#  s&   è ø€ Ø×.Ñ.¨u°hÀÈ6Ð.ÓR×RÐRÐRúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©NrŒ  rQ  Trº  r³  r¶  s     r…   rR  z(AsyncClient.futures_change_position_mode$#  s(   è ø€ Ø×.Ñ.¨vÐ7JÈDÐW]Ð.Ó^×^Ð^Ð^úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   rQ  Trº  r³  r¶  s     r…   rT  z%AsyncClient.futures_get_position_mode'#  s(   è ø€ Ø×.Ñ.¨uÐ6IÈ4ÐV\Ð.Ó]×]Ð]Ð]úrš  rU  c              ƒ   óX   K  — d|rdndi}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrU  rW  rX  rŒ  Trº  r³  rY  s      r…   rZ  z,AsyncClient.futures_change_multi_assets_mode*#  s;   è ø€ àÑ+<¡À'ð
ˆð ×.Ñ.¨vÐ7JÈDÐW]Ð.Ó^×^Ð^Ð^úr\  c              ƒ   óH   K  — | j                  dddi ¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rU  Trº  r³  r�   s    r…   r\  z)AsyncClient.futures_get_multi_assets_mode0#  s(   è ø€ Ø×.Ñ.¨uÐ6IÈ4ÐVXÐ.ÓY×YÐYÐYúrš  c              ƒ   óR   K  — | j                  dddi ¬«      ƒ d {  –—† }|d   S 7 Œ	­wr^  r³  r˜  s     r…   r_  z)AsyncClient.futures_stream_get_listen_key3#  s4   è ø€ Ø×-Ñ-¨f°kÈ%ÐVXÐ-ÓY×YˆØ�;ÑÐð Zúrí  c              ƒ   óP   K  — d|i}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wra  r³  r›  s      r…   rb  z$AsyncClient.futures_stream_keepalive7#  s5   è ø€ à˜ð
ˆð ×.Ñ.¨u°kÈ%ÐV\Ð.Ó]×]Ð]Ð]úrï  c              ƒ   óP   K  — d|i}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrd  r³  r›  s      r…   re  z AsyncClient.futures_stream_close=#  s5   è ø€ à˜ð
ˆð ×.Ñ.¨x¸ÈUÐY_Ð.Ó`×`Ð`Ð`úrï  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­wr+  rg  r�   s    r…   rh  zAsyncClient.futures_coin_pingE#  ó   è ø€ Ø×3Ñ3°E¸6ÓB×BÐBÐBúr”  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­wr.  rg  r�   s    r…   rk  zAsyncClient.futures_coin_timeH#  r�  r”  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­wr0  rg  r�   s    r…   rm  z&AsyncClient.futures_coin_exchange_infoK#  s   è ø€ Ø×3Ñ3°E¸>ÓJ×JÐJÐJúr”  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr3  rg  r¶  s     r…   ro  z#AsyncClient.futures_coin_order_bookN#  s$   è ø€ Ø×3Ñ3°E¸7ÈÐ3ÓP×PÐPÐPúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr6  rg  r¶  s     r…   rq  z&AsyncClient.futures_coin_recent_tradesQ#  ó$   è ø€ Ø×3Ñ3°E¸8È&Ð3ÓQ×QÐQÐQúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr9  rg  r¶  s     r…   rt  z*AsyncClient.futures_coin_historical_tradesT#  r^  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr<  rg  r¶  s     r…   rv  z)AsyncClient.futures_coin_aggregate_tradesW#  s$   è ø€ Ø×3Ñ3°E¸;ÈVÐ3ÓT×TÐTÐTúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr?  rg  r¶  s     r…   rÞ  zAsyncClient.futures_coin_klinesZ#  r”  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrA  rg  r¶  s     r…   ry  z)AsyncClient.futures_coin_continous_klines]#  r^  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r{  rº  rg  r¶  s     r…   r|  z+AsyncClient.futures_coin_index_price_klines`#  r^  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r~  rº  rg  r¶  s     r…   r  z*AsyncClient.futures_coin_mark_price_klinesc#  s&   è ø€ Ø×3Ñ3°EÐ;LÐSYÐ3ÓZ×ZÐZÐZúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrE  rg  r¶  s     r…   r�  z#AsyncClient.futures_coin_mark_pricef#  ó%   è ø€ Ø×3Ñ3°E¸>ÐPVÐ3ÓW×WÐWÐWúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrH  rg  r¶  s     r…   r„  z%AsyncClient.futures_coin_funding_ratei#  ó$   è ø€ Ø×3Ñ3°E¸=ÈvÐ3ÓV×VÐVÐVúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrN  rg  r¶  s     r…   r‡  zAsyncClient.futures_coin_tickerl#  rž  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrP  rg  r¶  s     r…   r‰  z&AsyncClient.futures_coin_symbol_tickero#  rœ  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrR  rg  r¶  s     r…   r‹  z)AsyncClient.futures_coin_orderbook_tickerr#  s&   è ø€ Ø×3Ñ3°EÐ;NÐU[Ð3Ó\×\Ð\Ð\úr{  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrT  rg  r¶  s     r…   r�  z+AsyncClient.futures_coin_liquidation_ordersu#  s(   è ø€ Ø×3Ñ3°E¸=ÐQUÐ\bÐ3Óc×cÐcÐcúrš  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wrZ  rg  r¶  s     r…   r�  z&AsyncClient.futures_coin_open_interestx#  rœ  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr]  r‘  r¶  s     r…   r’  z+AsyncClient.futures_coin_open_interest_hist{#  s&   è ø€ Ø×8Ñ8¸Ð@RÐY_Ð8Ó`×`Ð`Ð`úr{  c              ‹   óJ   K  — | j                  dddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  r¤   Tr”  rg  r¶  s     r…   r•  z)AsyncClient.futures_coin_leverage_bracket~#  s4   è ø€ Ø×3Ñ3ØÐ$¨a¸À6ð 4ó 
÷ 
ð 	
ð 
úrV  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rp  Trº  rX  r¶  s     r…   r—  z AsyncClient.new_transfer_historyƒ#  r™  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr™  rX  r¶  s     r…   rš  zAsyncClient.funding_wallet†#  r·  rš  c              ‹   óJ   K  — | j                  ddd|d¬«      ƒ d {  –—† S 7 Œ­wrœ  rX  r¶  s     r…   r�  zAsyncClient.get_user_asset‰#  s+   è ø€ Ø×-Ñ-¨fÐ6JÈDÐW]ÐghÐ-Ói×iÐiÐiúrV  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr¤  rX  r¶  s     r…   rŸ  zAsyncClient.universal_transferŒ#  s2   è ø€ Ø×-Ñ-ØÐ$¨T¸ð .ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wri  rg  r¶  s     r…   r¡  z%AsyncClient.futures_coin_create_order‘#  s'   è ø€ Ø×3Ñ3°F¸GÀTÐPVÐ3ÓW×WÐWÐWúrš  c              ‹   ó’   K  — t        |«      }|j                  dd«      }|dd  |d<   | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrk  r£  r%  s      r…   r¤  z*AsyncClient.futures_coin_place_batch_order”#  sT   è ø€ Ü  Ó(ˆØ#×+Ñ+¨E°5Ó9ˆØ ,¨R¨SÐ 1ˆˆ}Ñà×3Ñ3°F¸MÈ4ÐV\Ð3Ó]×]Ð]Ð]úrl  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrn  rg  r¶  s     r…   r¦  z"AsyncClient.futures_coin_get_order›#  s&   è ø€ Ø×3Ñ3°E¸7ÀDÈvÐ3ÓV×VÐVÐVúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrp  rg  r¶  s     r…   r¨  z(AsyncClient.futures_coin_get_open_ordersž#  ó'   è ø€ Ø×3Ñ3°E¸<ÈÐTZÐ3Ó[×[Ð[Ð[úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r4  Trq  rg  r¶  s     r…   r«  z'AsyncClient.futures_coin_get_all_orders¡#  s1   è ø€ Ø×3Ñ3Ø�; t°&ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nr”  r  Trq  rg  r¶  s     r…   r­  z%AsyncClient.futures_coin_cancel_order¦#  s1   è ø€ Ø×3Ñ3Ø�g d°ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nr”  r1  Trq  rg  r¶  s     r…   r¯  z/AsyncClient.futures_coin_cancel_all_open_orders«#  s1   è ø€ Ø×3Ñ3Ø�o¨d¸ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrv  rg  r¶  s     r…   r±  z&AsyncClient.futures_coin_cancel_orders°#  s1   è ø€ Ø×3Ñ3Ø�m T°ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r6  Trq  rg  r¶  s     r…   r³  z(AsyncClient.futures_coin_account_balanceµ#  ó1   è ø€ Ø×3Ñ3Ø�9 T°ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w©Nrð   r@  Trq  rg  r¶  s     r…   r¶  z AsyncClient.futures_coin_accountº#  r¶  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r<  Trq  rg  r¶  s     r…   r¸  z(AsyncClient.futures_coin_change_leverage¿#  s1   è ø€ Ø×3Ñ3Ø�J t°&ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r?  Trq  rg  r¶  s     r…   rº  z+AsyncClient.futures_coin_change_margin_typeÄ#  s1   è ø€ Ø×3Ñ3Ø�L¨°Fð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr}  rg  r¶  s     r…   r¼  z/AsyncClient.futures_coin_change_position_marginÉ#  s2   è ø€ Ø×3Ñ3ØÐ$ d°ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr  rg  r¶  s     r…   r¾  z0AsyncClient.futures_coin_position_margin_historyÎ#  s2   è ø€ Ø×3Ñ3ØÐ+¨T¸ð 4ó 
÷ 
ð 	
ð 
úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rH  Trº  rg  r¶  s     r…   rÀ  z-AsyncClient.futures_coin_position_informationÓ#  s'   è ø€ Ø×3Ñ3°E¸>È4ÐV\Ð3Ó]×]Ð]Ð]úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr‚  rg  r¶  s     r…   rÂ  z'AsyncClient.futures_coin_account_tradesÖ#  r®  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr„  rg  r¶  s     r…   rÄ  z'AsyncClient.futures_coin_income_historyÙ#  s'   è ø€ Ø×3Ñ3°E¸8ÀTÐPVÐ3ÓW×WÐWÐWúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr†  rg  r¶  s     r…   rÆ  z-AsyncClient.futures_coin_change_position_modeÜ#  s)   è ø€ Ø×3Ñ3°FÐ<OÐQUÐ\bÐ3Óc×cÐcÐcúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrˆ  rg  r¶  s     r…   rÈ  z*AsyncClient.futures_coin_get_position_modeß#  s)   è ø€ Ø×3Ñ3°EÐ;NÐPTÐ[aÐ3Ób×bÐbÐbúrš  c              ƒ   óR   K  — | j                  dddi ¬«      ƒ d {  –—† }|d   S 7 Œ	­wr^  rg  r˜  s     r…   rÊ  z.AsyncClient.futures_coin_stream_get_listen_keyâ#  s4   è ø€ Ø×2Ñ2°6¸;ÈuÐ[]Ð2Ó^×^ˆØ�;ÑÐð _úrí  c              ƒ   óP   K  — d|i}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wra  rg  r›  s      r…   rÌ  z)AsyncClient.futures_coin_stream_keepaliveæ#  s5   è ø€ à˜ð
ˆð ×3Ñ3°E¸;ÈuÐ[aÐ3Ób×bÐbÐbúrï  c              ƒ   óP   K  — d|i}| j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wrd  rg  r›  s      r…   rÎ  z%AsyncClient.futures_coin_stream_closeì#  s6   è ø€ à˜ð
ˆð ×3Ñ3°H¸kÐRWÐ^dÐ3Óe×eÐeÐeúrï  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÐ  Trº  rX  r¶  s     r…   rÑ  zAsyncClient.get_all_coins_infoò#  s(   è ø€ Ø×-Ñ-¨eÐ5LÈdÐY_Ð-Ó`×`Ð`Ð`úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rÓ  Trº  rX  r¶  s     r…   rÔ  z AsyncClient.get_account_snapshotõ#  s(   è ø€ Ø×-Ñ-¨eÐ5FÈÐSYÐ-ÓZ×ZÐZÐZúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rÖ  Trº  rX  r¶  s     r…   r×  z(AsyncClient.disable_fast_withdraw_switchø#  r  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rÙ  Trº  rX  r¶  s     r…   rÚ  z'AsyncClient.enable_fast_withdraw_switchû#  s)   è ø€ Ø×-Ñ-¨fÐ6PÐRVÐ]cÐ-Ód×dÐdÐdúrš  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­wr+  rÜ  r�   s    r…   rÝ  zAsyncClient.options_ping$  r,  r”  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­wr.  rÜ  r�   s    r…   rß  zAsyncClient.options_time	$  r,  r”  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­w)Nrð   rá  rÜ  r�   s    r…   râ  zAsyncClient.options_info$  s   è ø€ Ø×.Ñ.¨u°lÓC×CÐCÐCúr”  c              ƒ   óB   K  — | j                  dd«      ƒ d {  –—† S 7 Œ­wr0  rÜ  r�   s    r…   rä  z!AsyncClient.options_exchange_info$  r1  r”  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   ræ  rº  rÜ  r¶  s     r…   rç  zAsyncClient.options_index_price$  r4  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   ré  rº  rÜ  r¶  s     r…   rê  zAsyncClient.options_price$  r7  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rì  rº  rÜ  r¶  s     r…   rí  zAsyncClient.options_mark_price$  s$   è ø€ Ø×.Ñ.¨u°fÀ6Ð.ÓJ×JÐJÐJúr{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr3  rÜ  r¶  s     r…   rï  zAsyncClient.options_order_book$  r4  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr?  rÜ  r¶  s     r…   rñ  zAsyncClient.options_klines$  r7  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr6  rÜ  r¶  s     r…   ró  z!AsyncClient.options_recent_trades!$  r7  r{  c              ‹   óF   K  — | j                  dd|¬«      ƒ d {  –—† S 7 Œ­wr9  rÜ  r¶  s     r…   rõ  z%AsyncClient.options_historical_trades$$  r:  r{  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr¸  rÜ  r¶  s     r…   r÷  z AsyncClient.options_account_info)$  s'   è ø€ Ø×.Ñ.¨u°iÈÐSYÐ.ÓZ×ZÐZÐZúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rù  Trq  rÜ  r¶  s     r…   rú  z"AsyncClient.options_funds_transfer,$  s'   è ø€ Ø×.Ñ.¨v°zÈ$ÐU[Ð.Ó\×\Ð\Ð\úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rü  Trq  rÜ  r¶  s     r…   rý  zAsyncClient.options_positions/$  s'   è ø€ Ø×.Ñ.¨u°jÈÐTZÐ.Ó[×[Ð[Ð[úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  rÿ  Trq  rÜ  r¶  s     r…   r   zAsyncClient.options_bill2$  s'   è ø€ Ø×.Ñ.¨v°vÀdÐQWÐ.ÓX×XÐXÐXúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r  Trq  rÜ  r¶  s     r…   r  zAsyncClient.options_place_order5$  s'   è ø€ Ø×.Ñ.¨v°wÀtÐRXÐ.ÓY×YÐYÐYúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r"  Trq  rÜ  r¶  s     r…   r  z%AsyncClient.options_place_batch_order8$  s'   è ø€ Ø×.Ñ.¨v°}ÈTÐX^Ð.Ó_×_Ð_Ð_úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr±  rÜ  r¶  s     r…   r  z AsyncClient.options_cancel_order;$  s'   è ø€ Ø×.Ñ.¨x¸ÈÐTZÐ.Ó[×[Ð[Ð[úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nr”  r"  Trq  rÜ  r¶  s     r…   r  z&AsyncClient.options_cancel_batch_order>$  s'   è ø€ Ø×.Ñ.¨x¸ÈtÐZ`Ð.Óa×aÐaÐaúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­wr³  rÜ  r¶  s     r…   r
  z%AsyncClient.options_cancel_all_ordersA$  s(   è ø€ Ø×.Ñ.¨x¸ÐQUÐ\bÐ.Óc×cÐcÐcúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rÜ  r¶  s     r…   r  zAsyncClient.options_query_orderD$  s'   è ø€ Ø×.Ñ.¨u°gÀdÐQWÐ.ÓX×XÐXÐXúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r:  Trq  rÜ  r¶  s     r…   r  z(AsyncClient.options_query_pending_ordersG$  ó'   è ø€ Ø×.Ñ.¨u°lÈ4ÐV\Ð.Ó]×]Ð]Ð]úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rÜ  r¶  s     r…   r  z'AsyncClient.options_query_order_historyJ$  s'   è ø€ Ø×.Ñ.¨u°oÈdÐY_Ð.Ó`×`Ð`Ð`úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   rK  Trq  rÜ  r¶  s     r…   r  zAsyncClient.options_user_tradesM$  rß  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rX  r¶  s     r…   r  z-AsyncClient.get_fiat_deposit_withdraw_historyR$  rÖ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rX  r¶  s     r…   r  z%AsyncClient.get_fiat_payments_historyU$  s'   è ø€ Ø×-Ñ-¨e°_ÈTÐX^Ð-Ó_×_Ð_Ð_úrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rX  r¶  s     r…   r  z!AsyncClient.get_c2c_trade_historyZ$  s)   è ø€ Ø×-Ñ-¨eÐ5ZÐcgÐntÐ-Óu×uÐuÐuúrš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r  Trq  rX  r¶  s     r…   r   z!AsyncClient.get_pay_trade_history_$  râ  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)Nrð   r"  Trq  rX  r¶  s     r…   r#  z%AsyncClient.get_convert_trade_historye$  rà  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r%  Trq  rX  r¶  s     r…   r&  z!AsyncClient.convert_request_quotei$  rç  rš  c              ‹   óH   K  — | j                  ddd|¬«      ƒ d {  –—† S 7 Œ­w)NrŒ  r(  Trq  rX  r¶  s     r…   r)  z AsyncClient.convert_accept_quotem$  rÒ  rš  rþ   r0  rŽ   r1  r2  (T  rÿ   r   r  r   r  r   ræ   r   r
   rP  r	   r   r†   Úclassmethodr@  rB  rC  r   r-  r_  ÚClientResponser^  r  rj  rn  rr  rw  rz  r}  r€  rƒ  rˆ  r�  r‘  r•  r›  rS  Ú__doc__rŸ  r¨  rV  r«  r   r®  r³  r·  r¼  r¿  rÂ  rÔ  r×  r   r%   rà  rè  rî  rì  rü  rû  r  r  r  r	  r  r1  r  r  r  r  r!  r$  r'  r*  r-  r0  r2  r5  r8  r;  r>  rA  rI  rL  rO  rR  rU  rY  r\  r_  rb  re  rh  rk  rn  rr  rt  rw  rz  r  r‚  r…  r�  r”  r™  rœ  rž  r¡  r¤  r¦  r¨  r«  r®  r±  r´  r·  rº  r½  rÀ  rÂ  rÅ  rÈ  rË  rÑ  rÓ  rØ  rÛ  rÞ  rà  rã  rå  rç  ré  rì  rï  rò  rô  r÷  rú  rý  r   r  r  r	  r  r  r  r  r  r  r  r  r!  r$  r'  r+  r.  r1  r5  r8  r;  r>  rA  rD  rG  rJ  rM  rP  rS  rV  rY  r_  rb  re  rh  rk  rn  rq  rt  rw  ry  r|  r  r‚  r…  rˆ  r‹  rŽ  r‘  r”  r—  rš  r�  r   r£  r¦  r©  r¬  r¯  r±  r´  r·  r¹  r¼  r¾  rÁ  rÄ  rÜ  rÈ  rÍ  rÒ  rÕ  rÙ  rÞ  rá  rä  ræ  rè  rê  rí  rñ  rô  r÷  rú  rý  r   r  r  r	  r  r  r  r  r  r  r  r&  r(  r*  r-  r/  r2  r4  r7  r:  r=  r@  rC  rF  rI  rL  rO  rR  rT  rZ  r\  r_  rb  re  rh  rk  rm  ro  rq  rt  rv  rÞ  ry  r|  r  r�  r„  r‡  r‰  r‹  r�  r�  r’  r•  r—  rš  r�  rŸ  r¡  r¤  r¦  r¨  r«  r­  r¯  r±  r³  r¶  r¸  rº  r¼  r¾  rÀ  rÂ  rÄ  rÆ  rÈ  rÊ  rÌ  rÎ  rÑ  rÔ  r×  rÚ  rÝ  rß  râ  rä  rç  rê  rí  rï  rñ  ró  rõ  r÷  rú  rý  r   r  r  r  r  r
  r  r  r  r  r  r  r  r   r#  r&  r)  r5  r6  s   @r…   r8  r8  ¡  sð  ø„ ð (,ÈØ48ÀUØ'×=Ñ=Ø DÐUYØ26ÐZ^ñ
{Ø ‘}ð
{Ø9AÀ#¹ð
{à! $ s¨C x¡.Ñ1ð
{à?Bð
{ð ð
{ð ð	
{ð ;CÀ4ÈÈSÈÁ>Ñ:Rð	
{ð
 ˜e C¨ IÑ.Ñ/ð
{ð
 KSÐSVÉ-õ
{ð à&*ÈØ48ÀUØ'×=Ñ=Ø DÐUYñ	Ø˜s‘mðØ8@À¹ðà! $ s¨C x¡.Ñ1ðà?Bðð ðð ð	ð ;CÀ4ÈÈSÈÁ>Ñ:Rò	ó ðð.˜w×4Ñ4ó ò'ò
9¨#ð 9°tð 9È4ó 9ðF¨w×/EÑ/Eó Fð 7<ÀZ×EbÑEbó BòHÐ]aó Hò
HÐW[ó Hò
HÐbfó Hò
HÐgkó Hò
HÐRVó Hò
BÐ\`ó Bò
BÈdó Bð ',°Z×5RÑ5Ró Oð (-°j×6SÑ6Sñ PÐbfó Pð ',°Z×5RÑ5Rñ OÐaeó Oð */¸
×8UÑ8Uñ RÐdhó Rð
 Dó ð "×.Ñ.×6Ñ6€LÔðQ¨ó Qà &× 8Ñ 8× @Ñ @ÐÔð¨x¸©~ó ð %×4Ñ4×<Ñ<€OÔðI˜Dó Ià—;‘;×&Ñ&€D„LðI tó Ià$×4Ñ4×<Ñ<€OÔò^¨H°S©Mð ^ÀTÈ$ÈsÐTWÈxÉ.ÑEYó ^ð
 %×4Ñ4×<Ñ<€OÔða°tó að %+×$@Ñ$@×$HÑ$HÐÔ!ðW°ó Wà#×2Ñ2×:Ñ:€NÔð6°4ó 6à &× 8Ñ 8× @Ñ @ÐÔðb°tó bà$*×$@Ñ$@×$HÑ$HÐÔ!ð[°dó [à#)×#>Ñ#>×#FÑ#FÐÔ ô3.ðh $*×#>Ñ#>×#FÑ#FÐÔ ðX¨Dó Xà×*Ñ*×2Ñ2€JÔà@T×@YÑ@Yñ 
7Ð)=ð 
7Ðhló 
7ð —n‘n×,Ñ,€G„Oð Qe×PiÑPiñ
Ø9Mó
ð -3×,PÑ,P×,XÑ,XÐ!Ô)àFJÐTXÐ`dØH\×HaÑHañAØ1EóAð %+×$@Ñ$@×$HÑ$HÐÔ!àCGÐQUÐ]aØEY×E^ÑE^ñ7Ø.Bó7ðp "(×!:Ñ!:×!BÑ!BÐÔàPTÐ^bÐjnØRf×RkÑRkñ
Ø;Oó
ð
 /5×.TÑ.T×.\Ñ.\Ð#Ô+àMQÐ[_ÐgkØOc×OhÑOhñ4'Ø8Ló4'ðj ,2×+NÑ+N×+VÑ+VÐ Ô(òZà"×0Ñ0×8Ñ8€MÔò]à×*Ñ*×2Ñ2€JÔò^à &× 8Ñ 8× @Ñ @ÐÔòcà#)×#>Ñ#>×#FÑ#FÐÔ ò<à!×.Ñ.×6Ñ6€LÔà,6×,HÑ,Hó 1ð !×,Ñ,×4Ñ4€KÔà0:×0LÑ0Ló Ið
 %×4Ñ4×<Ñ<€OÔà1;×1MÑ1Mó Ið
  &×6Ñ6×>Ñ>ÐÔò1ð
 "×.Ñ.×6Ñ6€LÔò1ð
  &×6Ñ6×>Ñ>ÐÔò1ð
 !'× 8Ñ 8× @Ñ @ÐÔò@à%×6Ñ6×>Ñ>ÐÔò5ð
 #×0Ñ0×8Ñ8€MÔò5ð
 $×2Ñ2×:Ñ:€NÔòAà &× 8Ñ 8× @Ñ @ÐÔò;à×(Ñ(×0Ñ0€IÔò?à#×2Ñ2×:Ñ:€NÔò>à!×.Ñ.×6Ñ6€LÔò@à$×4Ñ4×<Ñ<€OÔòCà"(×"<Ñ"<×"DÑ"DÐÔò=à ×,Ñ,×4Ñ4€KÔòð !'× 8Ñ 8× @Ñ @ÐÔò>à"×0Ñ0×8Ñ8€MÔò8à&,×&DÑ&D×&LÑ&LÐÔ#òHà$*×$@Ñ$@×$HÑ$HÐÔ!òCà$×4Ñ4×<Ñ<€OÔòFà &× 8Ñ 8× @Ñ @ÐÔòZà!'×!:Ñ!:×!BÑ!BÐÔòdà-3×-RÑ-R×-ZÑ-ZÐ"Ô*òcà*0×*LÑ*L×*TÑ*TÐÔ'ò[à$×4Ñ4×<Ñ<€OÔòZà!×.Ñ.×6Ñ6€LÔòWà"×0Ñ0×8Ñ8€MÔò_à)/×)JÑ)J×)RÑ)RÐÔ&òbà&,×&DÑ&D×&LÑ&LÐÔ#òaà/5×/VÑ/V×/^Ñ/^Ð$Ô,òZà"×0Ñ0×8Ñ8€MÔò]à &× 8Ñ 8× @Ñ @ÐÔòcð
 —‘×.Ñ.€HÔòbà"(×"<Ñ"<×"DÑ"DÐÔòdà#)×#>Ñ#>×#FÑ#FÐÔ òFð '-×&DÑ&D×&LÑ&LÐÔ#òc¨cð c¸HÀS¹Mó cð
 #)×"<Ñ"<×"DÑ"DÐÔò ð %+×$@Ñ$@×$HÑ$HÐÔ!òEð
  &×6Ñ6×>Ñ>ÐÔòHð
 "×.Ñ.×6Ñ6€LÔòZà!'×!:Ñ!:×!BÑ!BÐÔòcà*0×*LÑ*L×*TÑ*TÐÔ'òdà-3×-RÑ-R×-ZÑ-ZÐ"Ô*òfà.4×.TÑ.T×.\Ñ.\Ð#Ô+òRà%×6Ñ6×>Ñ>ÐÔòQà &× 8Ñ 8× @Ñ @ÐÔòVà$*×$@Ñ$@×$HÑ$HÐÔ!òUà#)×#>Ñ#>×#FÑ#FÐÔ òjà-3×-RÑ-R×-ZÑ-ZÐ"Ô*ògà)/×)JÑ)J×)RÑ)RÐÔ&òkà.4×.TÑ.T×.\Ñ.\Ð#Ô+ò[à*0×*LÑ*L×*TÑ*TÐÔ'òZà'-×'FÑ'F×'NÑ'NÐÔ$òWà%+×%BÑ%B×%JÑ%JÐÔ"òcð '-×&DÑ&D×&LÑ&LÐÔ#òcð '-×&DÑ&D×&LÑ&LÐÔ#òlð 06×/VÑ/V×/^Ñ/^Ð$Ô,òlð 06×/VÑ/V×/^Ñ/^Ð$Ô,ò_à!'×!:Ñ!:×!BÑ!BÐÔò`à &× 8Ñ 8× @Ñ @ÐÔò`à"(×"<Ñ"<×"DÑ"DÐÔòbà"(×"<Ñ"<×"DÑ"DÐÔògà&,×&DÒ&D×&LÑ&LÐÔ#òbà*0×*LÒ*L×*TÑ*TÐÔ'ò^à&,×&DÒ&D×&LÑ&LÐÔ#ò_òiòiòmò_òdòcòbògòiò
dòfòcòfò
 òbòeò òkònòmònòjòtòhòoògòhòoòqòpòkò
fòdòbòcòiòjòlò
Yð $*×#>Ò#>×#FÑ#FÐÔ òZð $×2Ò2×:Ñ:€NÔò\ð  &×6Ò6×>Ñ>ÐÔòbð &,×%BÒ%B×%JÑ%JÐÔ"ò[ð &,×%BÒ%B×%JÑ%JÐÔ"òið .4×-RÒ-R×-ZÑ-ZÐ"Ô*ò\òlòpòqòiòcòfòeò^òfòfòmògòròyòwòiòhòjòmòoòjòiò
>ò>òFòLòMòWòPòMòWôRôIòSòRòdòeògòRòSòXò_òdòbò_òSòPò\ò\ò]ò\ògòfòjòqòkòhòSòYòRòWòVòUò]ò[ò_ò_òVòXò\òcòdòWòSò_ò^ð_Èó _òZó ô^ôaôCôCôKôQôRô\ôUôRô\ô\ô[ôXôWôWôXô]ôdôXôaô
ô
Zôdôjô
ô
Xô^ôWô\ô
ô

ô

ô

ô

ô

ô

ô

ô

ô

ô
^ô\ôXôdôcô ôcôfôaô[ôfôeðô>ô>ôDôFôLôMôKôLôMôMôWô
[ô]ô\ôYôZô`ô\ôbôdôYô^ôaô^ô
^ô`ô
vô
cà$*×$@Ò$@×$HÑ$HÑÔ!ôdà(.×(HÒ(H×(PÑ(PÑÔ%ôdà$*×$@Ò$@×$HÑ$HÑÔ!ôgà#)×#>Ò#>×#FÑ#FÑ× Ñ r‡   r8  )(Úbase64r   Úpathlibr   Útypingr   r   r   r   r	   r
   rB  rr  rÏ   rÎ   rY  rö   ÚCrypto.PublicKeyr   ÚCrypto.Hashr   ÚCrypto.Signaturer   Úoperatorr   Úurllib.parser   Úhelpersr   r   r   Ú
exceptionsr   r   r   Úenumsr   r   rS  r8  rÞ   r‡   r…   Ú<module>r÷     sp   ðÝ Ý ß :× :ã Û Û Û Û Û Ý  Ý Ý %Ý Ý "ç GÑ Gß ]Ñ ]Ý '÷sñ sôl	Ru ˆZô Ru ôjjNG�*õ NGr‡   