
    ei                         d dl mZ d dlmZ d dlZd dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZ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 d d
lmZ  G d dee          ZdS )    )Exchange)ImplicitAPIN)AnyBalancesCurrencyIntMarketNumOrder	OrderBook	OrderSide	OrderTypeStrTickerTradeTradingFeesTransaction)List)ExchangeError)AuthenticationError)ArgumentsRequired)	BadSymbol)	TICK_SIZEc                   &    e Zd Zdef fdZdefdZi fdefdZdddi fdede	de	de
e         fd	Zd0d
ededefdZdi fdede	defdZd0dededefdZi fdedefdZd0dededefdZdddi fdede	de	fdZddi fdede	de	de
e         fdZi fdefdZdi fdededededef
dZ di fdedefdZ!dddi fdede	de	de
e"         fdZ#dddi fdede	de	de
e"         fdZ$d efd!Z%d0d"ed#e&de"fd$Z'd% Z(d&d'i ddfd(Z)d)e*d*ed+ed,ed-ed.efd/Z+ xZ,S )1	coincheckreturnc                    |                      t          t          |                                           ddddgdi dd dddd	d
d	dd	dd	dd	dd	dd	dd	dddd	dd	dddd	dd	dd	i dd	dddd	dd	dd	dd	dd	dd	d d	d!d	d"dd#d	d$d	d%d	d&d	d'd	d(d	i d)d	d*d	d+d	d,d	d-d	d.d	d/d	d0d	d1d	d2d	d3d	d4d	d5d	d6d	d7d	d8d	d9d	i d:d	d;d	d<dd=d	d>d	d?d	d@ddAd	dBd	dCddDd	dEd	dFd	dGd	dHd	dId	dJd	i dKd	dLd	dMddNddOd	dPddQd	dRddSd	dTd	dUd	dVd	dWd	dXd	dYd	dZd	d[dd\d]d^id_d`dadbgdcddg deig dfg dgg dhdidj|                     dkdldmdndodpdddq          |                     drdsdtdndudpdddq          |                     dvdwdxdndydpdddq          |                     dzd{d|dnd}dpdddq          |                     d~ddtdmdudodddq          dd	d	d	d d	d	d	d d	d	dd	dd	d	d	d	d	d	d	dd d	d d d ddd d	d d	d	d	dd d d d	d d dd d dddd	d|                     d          |                     d          dit          t          t          di dd          S )Nr   JPIDi  CORSspotTmarginFswapfutureoption	addMarginborrowCrossMarginborrowIsolatedMarginborrowMargincancelOrdercloseAllPositionsclosePositioncreateOrder$createOrderWithTakeProfitAndStopLoss&createOrderWithTakeProfitAndStopLossWscreatePostOnlyOrdercreateReduceOnlyOrderfetchBalancefetchBorrowInterestfetchBorrowRatefetchBorrowRateHistoriesfetchBorrowRateHistoryfetchBorrowRatesfetchBorrowRatesPerSymbolfetchCrossBorrowRatefetchCrossBorrowRatesfetchDepositsfetchFundingHistoryfetchFundingIntervalfetchFundingIntervalsfetchFundingRatefetchFundingRateHistoryfetchFundingRatesfetchGreeksfetchIndexOHLCVfetchIsolatedBorrowRatefetchIsolatedBorrowRatesfetchIsolatedPositionsfetchLeveragefetchLeveragesfetchLeverageTiersfetchLiquidationsfetchLongShortRatiofetchLongShortRatioHistoryfetchMarginAdjustmentHistoryfetchMarginModefetchMarginModesfetchMarketLeverageTiersfetchMarkOHLCVfetchMarkPricesfetchMyLiquidationsfetchMySettlementHistoryfetchMyTradesfetchOpenInterestfetchOpenInterestHistoryfetchOpenInterestsfetchOpenOrdersfetchOptionfetchOptionChainfetchOrderBookfetchPositionfetchPositionHistoryfetchPositionModefetchPositionsfetchPositionsForSymbolfetchPositionsHistoryfetchPositionsRiskfetchPremiumIndexOHLCVfetchSettlementHistoryfetchTickerfetchTradesfetchTradingFeefetchTradingFeesfetchVolatilityHistoryfetchWithdrawalsreduceMarginrepayCrossMarginrepayIsolatedMarginrepayMarginsetLeverage	setMarginsetMarginModesetPositionModewszdhttps://user-images.githubusercontent.com/51840849/87182088-1d6d6380-c2ec-11ea-9c64-8ab9f9b289f5.jpgrestzhttps://coincheck.com/apizhttps://coincheck.comz,https://coincheck.com/documents/exchange/apiz"https://coincheck.com/exchange/feezhttps://coincheck.com/info/fee)logoapiwwwdocfeesget)zexchange/orders/rateorder_bookszrate/{pair}tickertrades)accountszaccounts/balancezaccounts/leverage_balancebank_accountsdeposit_moneyzexchange/orders/openszexchange/orders/transactionsz'exchange/orders/transactions_paginationzexchange/leverage/positionszlending/borrows/matches
send_money	withdraws)	r   zdeposit_money/{id}/fastzexchange/orderszexchange/transfers/to_leveragez exchange/transfers/from_leveragezlending/borrowszlending/borrows/{id}/repayr   r   )zbank_accounts/{id}zexchange/orders/{id}zwithdraws/{id})r{   postdelete)publicprivatebtc_jpyBTC/JPYBTCJPYbtcjpy)idsymbolbasequotebaseIdquoteIdtyper!   etc_jpyETC/JPYETCetcfct_jpyFCT/JPYFCTfctmona_jpyMONA/JPYMONAmonaetc_btcETC/BTC)r   r   r   r   r   )IOCFOKPOGTD)
marginModetriggerPricetriggerPriceTypetriggerDirectionstopLossPricetakeProfitPriceattachedStopLossTakeProfittimeInForcehedgedtrailingleveragemarketBuyByCostmarketBuyRequiresPriceselfTradePreventioniceberg)r   limitdaysBack	untilDayssymbolRequired)r   r   triggerr   r   )	sandboxr-   createOrdersrU   
fetchOrderrY   fetchOrdersfetchClosedOrders
fetchOHLCV)linearinverse)r!   r#   r$   trading0)	tierBased
percentagemakertaker)zdisabled API Keyzinvalid authentication)exactbroad)r   name	countries	rateLimithasurlsrw   marketsfeaturesrz   precisionMode
exceptions)deep_extendsuperr   describesafe_market_structureparse_numberr   r   )self	__class__s    L/var/www/html/volatility/venv/lib/python3.11/site-packages/ccxt/coincheck.pyr   zcoincheck.describe   s|   i 6 6 ? ? A AVVV %V 	V
 %V %V UV $UV 'V V tV $UV  V tV 7V  9%!V" &u#V V$ (%V& 'V( &u)V* "5+V, +E-V. )%/V0 #E1V2 ,U3V4 '5V6 (7V8  9V: &u;V< '=V> (?V@ #EAVB *5CVD $UEV V VF uGVH "5IVJ *5KVL +EMVN )%OVP  QVR !%SVT %eUVV $UWVX &uYVZ -e[V\ /]V^ "5_V` #EaVb +EcVd !%eVf "5gV V Vh &uiVj +EkVl  mVn $UoVp +EqVr %esVt "4uVv uwVx #EyVz !${V|  }V~ 'V@ $UAVB !%CVD *5EVF (GVH %eIV V VJ )%KVL )%MVN tOVP tQVR "5SVT #DUVV )%WVX #DYVZ [V\ #E]V^ &u_V` uaVb ucVd UeVf  gVh "5iVj dkV Vp 7 /E84       
 
 
  5 * *X  55YR[ejuz  GL  Y^  hn  x|  7}  7}  ~  ~55YR[ejuz  GL  Y^  hn  x|  7}  7}  ~  ~  55YR[ejuz  GL  Y^  hn  x|  7}  7}  ~  ~ 66jT^hny~  KQ  ^c  ms  }A  8B  8B  C  C  55YR[ejuz  GL  Y^  hn  x|  7}  7}  ~  ~! :  %&+(-,0,1).+06:#(#("&#(	( ( #($)$)+027/4#()$ $, %)&+!%$(%)*.& & #'&+!%#($)*/( ( $()-"&U+ +Z ## 
 ## c5 5n !&"&!..s33!..s33	  ' )<.A   [tD
 tD
 t t t	    c                    d|i}t          | j                                                  }t          dt	          |                    D ]{}||         }|                     |          }|d         }||v rP|                                 }|dz   }	|                     ||          |d<   |                     ||	          |d<   |||<   ||                     |          S )Ninfor   r   	_reservedfreeused)	list
currencieskeysrangelencurrencyaccountsafe_stringsafe_balance)
r   responseresultcodesicoder   
currencyIdr   reserveds
             r   parse_balancezcoincheck.parse_balance  s    )T_))++,,q#e**%% 		' 		'A8D}}T**H!$JX%%,,..%3"&"2"28Z"H"H"&"2"28X"F"F&t  (((r   c                 ~    |                                   |                     |          }|                     |          S )at  
        query for balance and get the amount of funds available for trading or funds locked in orders

        https://coincheck.com/documents/exchange/api#order-transactions-pagination

        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: a `balance structure <https://docs.ccxt.com/?id=balance-structure>`
        )load_marketsprivateGetAccountsBalancer   )r   paramsr   s      r   fetch_balancezcoincheck.fetch_balance  s=     	11&99!!(+++r   Nr   sincer   c                    |                                   d}||                     |          }|                     |          }|                     |dg           }|                     ||||          }g }	t          dt          |                    D ]3}
|	                    |                     ||
         ddi                     4|	S )a	  
        fetch all unfilled currently open orders

        https://coincheck.com/documents/exchange/api#order-opens

        :param str symbol: unified market symbol
        :param int [since]: the earliest time in ms to fetch open orders for
        :param int [limit]: the maximum number of  open orders structures to retrieve
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns Order[]: a list of `order structures <https://docs.ccxt.com/?id=order-structure>`
        Nordersr   statusopen)	r   marketprivateGetExchangeOrdersOpens
safe_valueparse_ordersr   r   appendextend)r   r   r   r   r   r   r   	rawOrdersparsedOrdersr   r   s              r   fetch_open_orderszcoincheck.fetch_open_orders'  s     	[[((F55f==OOHh;;	((FE5IIq#l++,, 	L 	LAMM$++l1o&7IJJKKKKr   orderr   c                 T   |                      |d          }|                      |d          }|                     |                      |d                    }|                      |d          }|                      |d          }|                      |d          }d }	|                      |d          }
|                     |
|d          }|                     i d|dd d	|d
|                     |          dd d|d|dd d|dd dd dd d|	d|d|dd dd d |d d d|          S )Nr   
order_type
created_atpending_amountratepair_clientOrderId	timestampdatetimelastTradeTimestampamount	remainingfilledsider   r   postOnlyr   r   pricer   cost)feer   averager~   )r   	parse8601safe_symbol
safe_orderiso8601)r   r  r   r   r  r  r  r  r  r   marketIdr   s               r   parse_orderzcoincheck.parse_order@  s    eT**|44NN4#3#3E<#H#HII	!!%)9::$$U,<==	  //##E622!!(FC88  
" 
T 
  
 Y//	 

 !$ 
 f 
  
 d 
 D 
 D 
 4 
  
 f 
 f 
 U 
  D! 
" D# 
$ + 
  
  
, -  	r   c                     |                                   |                     |          }d|d         i}|                     |                     ||                    }|                     ||d                   S )a3  
        fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data

        https://coincheck.com/documents/exchange/api#order-book

        :param str symbol: unified symbol of the market to fetch the order book for
        :param int [limit]: the maximum amount of order book entries to return
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/?id=order-book-structure>` indexed by market symbols
        r  r   r   )r   r   publicGetOrderBooksr  parse_order_book)r   r   r   r   r   requestr   s          r   fetch_order_bookzcoincheck.fetch_order_bookp  su     	V$$F4L
 ++DKK,H,HII$$Xvh/?@@@r   r}   c                    |                      d |          }|                     |d          }|                     |d          }|                     i d|d|d|                     |          d|                     |d          d|                     |d          d|                     |d          dd d	|                     |d	          d
d dd dd d|d|dd dd dd dd |                     |d          d |d|          S )Nr  lastr   r  highlowbid	bidVolumeask	askVolumevwapr   closepreviousClosechanger   r  volume)
baseVolumequoteVolumer   )r  safe_timestampr   safe_tickerr  )r   r}   r   r   r  r'  s         r   parse_tickerzcoincheck.parse_ticker  s    !!$//''<<	// !
f!
!
 Y//!
 D$$VV44	!

 4##FE22!
 4##FE22!
 !
 4##FE22!
 !
 D!
 D!
 T!
 D!
 T!
 d!
  $!!
" t#!
$ **68<<)!
 !
 !
* +  	r   c                     |dk    rt          | j        dz             |                                  |                     |          }d|d         i}|                     |                     ||                    }|                     ||          S )a  
        fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market

        https://coincheck.com/documents/exchange/api#ticker

        :param str symbol: unified symbol of the market to fetch the ticker for
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: a `ticker structure <https://docs.ccxt.com/?id=ticker-structure>`
        r   z$ fetchTicker() supports BTC/JPY onlyr  r   )r   r   r   r   publicGetTickerr  r7  )r   r   r   r   r$  r}   s         r   fetch_tickerzcoincheck.fetch_ticker  s     YDG&LLMMMV$$F4L
 %%dkk'6&B&BCC   000r   tradec                    |                      |                     |d                    }|                     |d          }|                     |d          }|                     |d          }|                     ||d          }|d         }|d         }|d         }	d }
d }d }d }d }d }d	|v r|                     |d	          d
k    rd}
n|                     |d	          dk    rd}
|                     |di           }|                     ||          }|                     ||          }|                     |d          |                     |d          d}|                     |d          }|                     |d          }n,|                     |d          }|                     |d          }|                     |||                     |          ||	d |||
||||d|          S )Nr	  r   r  r  r  r   r   r   	liquidityTr   Mr   fundsfee_currencyr  )r   r  r  order_idr  r  )r   r   r  r  r   r   r  r  takerOrMakerr  r  r  r  )r  r   safe_marketr   
safe_trader  )r   r;  r   r  r   priceStringr  r   r   r   rC  amountString
costStringr  r  orderIdr@  s                    r   parse_tradezcoincheck.parse_trade  s%   > NN4#3#3E<#H#HII	eT**&&uf55##E622!!(FC88!#!
%{33s::&!!%55<<&OOE7B77E++E6::L))%99J ,,UNCC((66 C ##E622D&&uj99GG++E8<<L##E<88DY//"( " 
  
   	r   c                    |                                   |                     |          }i }|||d<   |                     |                     ||                    }|                     |dg           }|                     ||||          S )a	  
        fetch all trades made by the user

        https://coincheck.com/documents/exchange/api#order-transactions-pagination

        :param str symbol: unified market symbol
        :param int [since]: the earliest time in ms to fetch trades for
        :param int [limit]: the maximum number of trades structures to retrieve
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/?id=trade-structure>`
        Nr   data)r   r   .privateGetExchangeOrdersTransactionsPaginationr  	safe_listparse_trades)	r   r   r   r   r   r   r$  r   transactionss	            r   fetch_my_tradeszcoincheck.fetch_my_trades  s     	V$$$GGFFt{{SZ\bGcGcdd. ~~h;;  vueDDDr   c                 &   |                                   |                     |          }d|d         i}|||d<   |                     |                     ||                    }|                     |dg           }|                     ||||          S )a   
        get the list of most recent trades for a particular symbol

        https://coincheck.com/documents/exchange/api#public-trades

        :param str symbol: unified symbol of the market to fetch trades for
        :param int [since]: timestamp in ms of the earliest trade to fetch
        :param int [limit]: the maximum amount of trades to fetch
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/?id=public-trades>`
        r  r   Nr   rL  )r   r   publicGetTradesr  rN  rO  )	r   r   r   r   r   r   r$  r   rL  s	            r   fetch_tradeszcoincheck.fetch_tradesA  s     	V$$F4L
 $GG''GV(D(DEE ~~h33  vue<<<r   c                    |                                   |                     |          }|                     |di           }i }t          dt	          | j                            D ]u}| j        |         }|                     |          }|                     ||d         i           }|||                     |d          |                     |d          ddd||<   v|S )	aR  
        fetch the trading fees for multiple markets

        https://coincheck.com/documents/exchange/api#account-info

        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: a dictionary of `fee structures <https://docs.ccxt.com/?id=fee-structure>` indexed by market symbols
        exchange_feesr   r   	maker_fee	taker_feeTF)r   r   r   r   r   r   )r   privateGetAccountsr   r   r   symbolsr   safe_number)	r   r   r   rz   r   r   r   r   r  s	            r   fetch_trading_feeszcoincheck.fetch_trading_feesb  s     	**622( x"==q#dl++,, 	 	A\!_F[[((F//$tb99C ))#{;;))#{;;"" F6NN r   r   r  r  r  c                    |                                   |                     |          }d|d         i}|dk    rb|dz   |z   |d<   |dk    r||d<   nZ|                     |d          }	|                     |d          }|	t	          | j        d
z             |	|d<   n||d<   ||d<   ||d<   |                     |                     ||                    }
|                     |
d          }| 	                    ||
d|          S )a  
        create a trade order

        https://coincheck.com/documents/exchange/api#order-new

        :param str symbol: unified symbol of the market to create an order in
        :param str type: 'market' or 'limit'
        :param str side: 'buy' or 'sell'
        :param float amount: how much of currency you want to trade in units of base currency
        :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: an `order structure <https://docs.ccxt.com/?id=order-structure>`
        r  r   r   r  r  sellr  r  Nzi createOrder() : you should use "cost" parameter instead of "amount" argument to create market buy ordersmarket_buy_amountr  )r   r   )
r   r   r[  omitr   r   privatePostExchangeOrdersr  r   r  )r   r   r   r  r  r  r   r   r$  r  r   r   s               r   create_orderzcoincheck.create_order  sL    	V$$F4L
 8$(3J$5GL!v~~$*!!''776622#+DG  7b  -b  c  c  c/3+,,$(GL!#GFO &GH11$++gv2N2NOOh-- 
  
   	r   r   c                     d|i}|                      |                     ||                    }|                     |          S )aw  
        cancels an open order

        https://coincheck.com/documents/exchange/api#order-cancel

        :param str id: order id
        :param str symbol: not used by coincheck cancelOrder()
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict: An `order structure <https://docs.ccxt.com/?id=order-structure>`
        r   )privateDeleteExchangeOrdersIdr  r   )r   r   r   r   r$  r   s         r   cancel_orderzcoincheck.cancel_order  sI     "
 55dkk'66R6RSS )))r   r   c                 :   |                                   d}i }| |                     |          }|d         |d<   |||d<   |                     |                     ||                    }|                     |dg           }|                     ||||ddi          S )a  
        fetch all deposits made to an account

        https://coincheck.com/documents/exchange/api#account-deposits

        :param str code: unified currency code
        :param int [since]: the earliest time in ms to fetch deposits for
        :param int [limit]: the maximum number of deposits structures to retrieve
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict[]: a list of `transaction structures <https://docs.ccxt.com/?id=transaction-structure>`
        Nr   r   r   depositsr   deposit)r   r   privateGetDepositMoneyr  rN  parse_transactions	r   r   r   r   r   r   r$  r   rL  s	            r   fetch_depositszcoincheck.fetch_deposits  s     	}}T**H"*4.GJ$GG..t{{7F/K/KLL0 ~~h
B77&&tXuefiEXYYYr   c                 $   |                                   d}||                     |          }i }|||d<   |                     |                     ||                    }|                     |dg           }|                     ||||ddi          S )a  
        fetch all withdrawals made from an account

        https://coincheck.com/documents/exchange/api#withdraws

        :param str code: unified currency code
        :param int [since]: the earliest time in ms to fetch withdrawals for
        :param int [limit]: the maximum number of withdrawals structures to retrieve
        :param dict [params]: extra parameters specific to the exchange API endpoint
        :returns dict[]: a list of `transaction structures <https://docs.ccxt.com/?id=transaction-structure>`
        Nr   rL  r   
withdrawal)r   r   privateGetWithdrawsr  rN  rj  rk  s	            r   fetch_withdrawalszcoincheck.fetch_withdrawals  s     	}}T**H$GG++DKK,H,HII, ~~h33&&tXueflE[\\\r   r   c                 B    ddddddd}|                      |||          S )Npendingokcanceled)rr  
processingfinishedrt  	confirmedreceived)r   )r   r   statusess      r   parse_transaction_statusz"coincheck.parse_transaction_status*  s<     !#""	
 	
 &&999r   transactionr   c                    |                      |d          }|                     |                      |d                    }|                      |d          }|                     |d          }|                      |d          }|                     ||          }|                     |                      |d                    }	|                     |                      |d                    }
d }|                     |d          }|||d	}i d
|d|dd d|d|                     |          dd d|d|dd dd dd dd dd d|d|d|	d|
d d |dS )Nr   r	  addressr  r   r   confirmed_atr  )r  r   r   txidr  r  network	addressToaddressFromtagtagTotagFromr   updated)commentinternalr  )r   r  r[  safe_currency_coderz  r  )r   r{  r   r   r  r}  r  r   r   r   r  r  feeCosts                r   parse_transactionzcoincheck.parse_transaction7  s   6 k400NN4#3#3K#N#NOO	"";	::!!+x88%%k:>>
&&z8<<..t/?/?X/V/VWW..!1!1+~!N!NOO"";66  C
K
"
 D
 	

 Y//
 t
 w
 
 4
 4
 T
 t
 D
 f
 
  f!
" w#
$ )
 
 
 	
r   c                 *    |                                  S N)milliseconds)r   s    r   noncezcoincheck.noncex  s      """r   r   GETc           	         | j         d         d         dz   |                     ||          z   }|                     ||                     |                    }|dk    r|r|d|                     |          z   z  }n|                                  t          |                                           }	d}
|dk    r1|r.|d|                     |                     |                    z   z  }n,|r*|                     |                     |                    }|}
|	|z   |
z   }d| j	        |	| 
                    |                     |          |                     | j                  t          j                  d	}||||d
S )Nrw   ru   /r   ? r  z!application/x-www-form-urlencoded)zContent-Typez
ACCESS-KEYzACCESS-NONCEzACCESS-SIGNATURE)urlmethodbodyheaders)r   implode_paramsr`  extract_params	urlencodecheck_required_credentialsstrr  keysortapiKeyhmacencodesecrethashlibsha256)r   pathrw   r  r   r  r  r  queryr  queryStringauths               r   signzcoincheck.sign{  su   iv&,t/B/B4/P/PP		&$"5"5d";";<<(?? 3sT^^E2222++---

%%EK E3U0C0C!D!DDDC '>>$,,u*=*=>>D"&K3;,D C"k %$(IIdkk$.?.?T[AYAY[b[i$j$j	 G fdwOOOr   httpCodereasonr  r  r  r  c
                    |d S |                      |dd          }
|
s|                     |d          }| j        dz   |                     |          z   }|                     | j        d         ||           |                     | j        d         ||           t          | j        dz   |                     |          z             d S )NsuccessTerror r   r   )	safe_boolr   r   jsonthrow_exactly_matched_exceptionr   throw_broadly_matched_exceptionr   )r   r  r  r  r  r  r  r   requestHeadersrequestBodyr  r  feedbacks                r   handle_errorszcoincheck.handle_errors  s    4
 ..9d;; 	E$$Xw77Ew}tyy':'::H001I5RZ[[[001I4QYZZZ#		(0C0C CDDDtr   r  )-__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r  dictr	   r   r  r   r%  r   r7  r:  r   rJ  rQ  rT  r   r\  r   r   floatr
   rb  re  r   rl  rp  rz  r   r  r  r  intr  __classcell__)r   s   @r   r   r      s`       u# u u u u u un) ) ) ) ) $& , ,( , , , , /3TXac   3 c hlmrhs    2. . .v . . . . .` :>b A As A3 AY A A A A&$ $4 $ $6 $ $ $ $L 02 1 13 1f 1 1 1 1>L L Lv L L L L L\ -1tRV_a )E )Ec )E )EC )E )E )E )EV 6:UW = =3 =s =# =\`af\g = = = =B )+ , ,{ , , , ,\ gksu & &3 &i &y &RW &`c & & & &P 37r * *s *C * * * *. *.Dt\^ -Z -Z3 -Zc -Z -Zcghsct -Z -Z -Z -Z^ -1tRV_a *] *]c *] *]C *]fjkvfw *] *] *] *]X:s : : : :?
 ?
T ?
X ?
Q\ ?
 ?
 ?
 ?
B# # # &eBSW P P P P4c 3 S # X\ dg        r   r   )ccxt.base.exchanger   ccxt.abstract.coincheckr   r  ccxt.base.typesr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   typingr   ccxt.base.errorsr   r   r   r   ccxt.base.decimal_to_precisionr   r    r   r   <module>r     s   ( ' ' ' ' ' / / / / / /  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \  \       * * * * * * 0 0 0 0 0 0 . . . . . . & & & & & & 4 4 4 4 4 4Q Q Q Q Q+ Q Q Q Q Qr   