
    ei                     N    d dl mZ d dlmZmZmZ d dlmZ  G d de          ZdS )    )kucoin)AnyStringsTransferEntry)
BadRequestc                   \     e Zd Zdef fdZdi fdefdZi fdededed	ede	f
d
Z
d Z xZS )kucoinfuturesreturnc                     |                      t          t          |                                           ddddddd ddddd dd	g d
ddddddd          S )Nr	   zKuCoin Futureszdhttps://user-images.githubusercontent.com/1294454/147508995-9e35030a-d046-43a1-a006-6fabd981b554.jpgzhttps://futures.kucoin.com/z(https://futures.kucoin.com/?rcode=E5wkqe)logowwwreferralFT)CORSspotmarginswapfutureoptionfetchBidsAsks)r   r   contract)typesfetchTickersFeesr   r   )fetchMarketsdefaultTypedefaultAccountTypeuta)idnameurlshasoptions)deep_extendsuperr	   describe)self	__class__s    T/var/www/html/volatility/venv/lib/python3.11/site-packages/ccxt/pro/kucoinfutures.pyr$   zkucoinfutures.describe   s    mT : : C C E E!$~4F  !%  <;;(-! !  &&0 #H
 H
   	    Nsymbolsc                 n   K   ddi}|                      ||                     ||                     d{V S )a  
        fetches the bid and ask price and volume for multiple markets
        :param str[] [symbols]: unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/?id=ticker-structure>`
        methodfuturesPublicGetAllTickersN)fetch_tickersextend)r%   r)   paramsrequests       r'   fetch_bids_askszkucoinfutures.fetch_bids_asks*   sM       2
 ''Wf1M1MNNNNNNNNNr(   codeamountfromAccount	toAccountc                   K   |                                   d{V  |                     |          }|                     ||          }|                     |d          |d}|                     |          }	d}
|	dk    s|	dk    r5|	|d<   |                     |                     ||                     d{V }
nq|dk    s|dk    s|d	k    rH|                     |          |d
<   |                     |                     ||                     d{V }
nt          | j	        dz             | 
                    |
di           }|                     |                     ||          |                     |          ||d          S )a  
        transfer currency internally between wallets on the same account
        :param str code: unified currency code
        :param float amount: amount to transfer
        :param str fromAccount: account to transfer from
        :param str toAccount: account to transfer to
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: a `transfer structure <https://docs.ccxt.com/?id=transfer-structure>`
        Nr   )currencyr3   TRADEMAINrecAccountTyper   r   r   payAccountTypezR transfer() only supports transfers between future/swap, spot and funding accountsdata)r3   r4   r5   )load_marketsr7   currency_to_precisionsafe_stringparse_transfer_typefuturesPrivatePostTransferOutr.   futuresPrivatePostTransferInr   r   	safe_dictparse_transferparse_number)r%   r2   r3   r4   r5   r/   r7   amountToPrecisionr0   toAccountStringresponser<   s               r'   transferzkucoinfutures.transfer6   s      !!!!!!!!!==&& 66tVDD((488'
 
 229==g%%F)B)B(7G$%!??GU[@\@\]]]]]]]]HH2 (""i6&9&9Y*=T=T(,(@(@(M(MG$%!>>t{{7TZ?[?[\\\\\\\\HH TW'{{|||~~h33{{4..tX>>''(9::&"A
 A
   	r(   c                 :    ddd}|                      |||          S )Nr8   r9   )r   funding)safe_string_upper)r%   transferTypetransferTypess      r'   r@   z!kucoinfutures.parse_transfer_typex   s.    
 
 %%m\<PPPr(   )__name__
__module____qualname__r   r$   r   r1   strfloatr   rI   r@   __classcell__)r&   s   @r'   r	   r	      s        #      : 8<B 
O 
OW 
O 
O 
O 
O ac @ @3 @ @C @TW @gt @ @ @ @DQ Q Q Q Q Q Qr(   r	   N)	ccxt.pro.kucoinr   ccxt.base.typesr   r   r   ccxt.base.errorsr   r	    r(   r'   <module>rY      s    # " " " " " 7 7 7 7 7 7 7 7 7 7 ' ' ' ' ' 'rQ rQ rQ rQ rQF rQ rQ rQ rQ rQr(   