
    E#i                         S SK Jr  S SKJr  S SKrS SKJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJ r   S SK!J"r"   " S S\\5      r#g)    )Exchange)ImplicitAPIN)AnyBalancesCurrencyDepositAddressIntMarketNumOrder	OrderBook	OrderSide	OrderTypeStrTickerTradeTradingFees)List)ExchangeError)AuthenticationError)PermissionDenied)ArgumentsRequired)OrderNotFound)NotSupported)InvalidNonce)	TICK_SIZE)Precisec                   2  ^  \ rS rSrS\4U 4S jjrS\4S jr0 4S\4S jjrS0 4S\	S\
S\4S	 jjrS1S
\S\S\4S jjr0 4S\	S\4S jjrSS0 4S\	S\
S\
S\\   4S jjr0 4S\4S jjrS0 4S\	S\S\S\S\4
S jjrS0 4S\	S\4S jjrSSS0 4S\S\
S\
S\\   4S jjrS0 4S\	S\4S jjr S1S\S\S\4S jjr!SSS0 4S\S\
S\
4S jjr"S r#S1S\S\S\4S jjr$S  r%0 4S!\	S\&4S" jjr'S1S#\(S\&4S$ jjr)S% r*S&S'0 SS4S( jr+S)\,S*\	S+\	S,\	S-\S.\	4S/ jr-S0r.U =r/$ )2bit2c   returnc           !      
  > U R                  [        [        U ]  5       SSS/SS0 SS _SS_S	S_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_0 SS_SS_SS_SS_SS_SS_SS_SS_S S_S!S_S"S_S#S_S$S_S%S_S&S_S'S_S(S_E0 S)S_S*S_S+S_S,S_S-S_S.S_S/S_S0S_S1S_S2S_S3S_S4S_S5S_S6S_S7S_S8S_S9S_E0 S:S_S;S_S<S_S=S_S>S_S?S_S@S_SAS_SBS_SCS_SDS_SES_SFS_SGS_SHS_SIS_SJS_E0 SKS_SLS_SMS_SNS_SOS_SPS_SQS_SRS_SSS_STS_SUS_SVS_SWS_SXS_SYS_SZS_S[S_ESSSSSSS\.ES]S^S_0S`SaSbSc/Sd.Se/ SfQ0/ SgQ/ ShQSi.Sj.U R	                  SkSlSmSnSoSpSSSq.5      U R	                  SrSsStSnSuSpSSSq.5      U R	                  SvSwSxSnSySpSSSq.5      U R	                  SzS{S|SnS}SpSSSq.5      S~.SSSU R                  S5      U R                  S5      U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      //U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      /U R                  S5      U R                  S5      //S.S.0SS0SSSS SSSS SSSSS.SSSSSSSS.S SSSSSS.SSSSS.SS SSSS.S S S S.	S S S.S S S.S.[        [        [        S.[        [        S.S.S.5      $ )Nr   Bit2CILi  FCORSspotTmarginswapfutureoption	addMarginborrowCrossMarginborrowIsolatedMarginborrowMargincancelAllOrderscancelOrdercloseAllPositionsclosePositioncreateOrder$createOrderWithTakeProfitAndStopLoss&createOrderWithTakeProfitAndStopLossWscreateReduceOnlyOrderfetchBalancefetchBorrowInterestfetchBorrowRatefetchBorrowRateHistoriesfetchBorrowRateHistoryfetchBorrowRatesfetchBorrowRatesPerSymbolfetchCrossBorrowRatefetchCrossBorrowRatesfetchDepositAddressfetchDepositAddressesfetchDepositAddressesByNetwork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
fetchOrderfetchOrderBookfetchPositionfetchPositionHistoryfetchPositionModefetchPositionsfetchPositionsForSymbolfetchPositionsHistoryfetchPositionsRiskfetchPremiumIndexOHLCVfetchSettlementHistoryfetchTickerfetchTradesfetchTradingFeefetchTradingFeesfetchTransferfetchTransfersfetchUnderlyingAssetsfetchVolatilityHistoryreduceMarginrepayCrossMarginrepayIsolatedMarginrepayMargin)setLeverage	setMarginsetMarginModesetPositionModetransferwszOhttps://github.com/user-attachments/assets/db0bce50-6842-4c09-a1d5-0c87d22118aarestzhttps://bit2c.co.ilzhttps://www.bit2c.co.ilz<https://bit2c.co.il/Aff/63bfed10-e359-420c-ab5a-ad368dab0bafz https://www.bit2c.co.il/home/apizhttps://github.com/OferE/bit2c)logoapiwwwreferraldocget)zExchanges/{pair}/TickerzExchanges/{pair}/orderbookzExchanges/{pair}/tradeszExchanges/{pair}/lasttrades)zMerchant/CreateCheckoutzFunds/AddCoinFundsRequestzOrder/AddFundzOrder/AddOrderOrder/GetByIdzOrder/AddOrderMarketPriceBuyzOrder/AddOrderMarketPriceSellzOrder/CancelOrderzOrder/AddCoinFundsRequestzOrder/AddStopOrderzPayment/GetMyIdzPayment/SendzPayment/Pay)zAccount/BalancezAccount/Balance/v2zOrder/MyOrdersr   zOrder/AccountHistoryzOrder/OrderHistory)postr   )publicprivateBtcNisBTC/NISBTCNISBtcNis)idsymbolbasequotebaseIdquoteIdtyper&   EthNisETH/NISETHEthLtcNisLTC/NISLTCLtcUsdcNisUSDC/NISUSDCUsdc)r   r   r   r   tradingz0.025z0.03020000z0.02755000075000z0.0225100000z0.02250000z0.015500000z0.0125750000z0.011000000z0.0082000000z0.0063000000z0.0044000000z0.002z0.0175z0.0075z0.005z0.003z0.001)takermaker)	tierBased
percentager   r   tiersfetchTradesMethod public_get_exchanges_pair_trades)IOCFOKPOGTD)
marginModetriggerPricetriggerPriceTypetriggerDirectionstopLossPricetakeProfitPriceattachedStopLossTakeProfittimeInForcehedgedtrailingleveragemarketBuyRequiresPricemarketBuyByCostselfTradePreventionicebergd      )r   limitdaysBack	untilDayssymbolRequired)r   triggerr   r   )r   r   r   r   r   )	sandboxr3   createOrdersr\   rc   r`   fetchOrdersfetchClosedOrders
fetchOHLCV)linearinverse)r&   r(   r)   )zPlease provide valid APIkeyzNo order found.)zPlease provide valid noncez'please approve new terms of use on site)exactbroad)r   name	countries	rateLimitprohasurlsr   marketsfeesoptionsfeaturesprecisionMode
exceptions)deep_extendsuperr   describesafe_market_structureparse_numberr   r   r   r   r   )self	__class__s    R/home/james-whalen/.local/lib/python3.13/site-packages/ccxt/async_support/bit2c.pyr   bit2c.describe   s`
   eT ; =\\\ %\ 	\
 %\ %\ U\ $U\ '\ \ "5\ t\ $U\  \ t\  7!\" 9%#\$ (%\& '\( &u)\* "5+\, +E-\. )%/\0 #E1\2 ,U3\4 '5\6 (7\8 &t9\: (;\< 1%=\> &u?\@ 'A\B (C\D #EE\F *5G\H $UI\J uK\L "5M\N *5O\P +EQ\R )%S\T  U\V !%W\X %eY\Z $U[\\ &u]\^ -e_\` /a\b "5c\d #Ee\f +Eg\h !%i\j "5k\l &um\n +Eo\p  q\r $Us\t +Eu\v %ew\x "4y\z u{\| #E}\~ d\@ !$A\B  C\D 'E\F $UG\H !%I\J *5K\L (M\N %eO\P )%Q\R )%S\T tU\V tW\X "5Y\Z #D[\\  ]\^ !%_\` (a\b )%c\d e\f #Eg\h &ui\j uk\l  %"!&#(!w\| j1 1Z64  !"H  55XQZdity  FK  X]  gm  w{  7|  }55XQZdity  FK  X]  gm  w{  7|  }55XQZdity  FK  X]  gm  w{  7|  } 66iS]gmx}  JP  ]b  lr  |@  8A  B	 !%"&!..w7!..v6 "..s3T5F5Fv5NO!..w79J9J89TU!..w79J9J79ST!..w79J9J89TU!..x8$:K:KF:ST!..x8$:K:KG:TU!..x8$:K:KH:UV!..x8$:K:KF:ST!..y94;L;LW;UV!..y94;L;LW;UV!..y94;L;LW;UV!..y94;L;LW;UV" "..s3T5F5Fw5OP!..w79J9J89TU!..w79J9J69RS!..w79J9J89TU!..x8$:K:KG:TU!..x8$:K:KF:ST!..x8$:K:KH:UV!..x8$:K:KG:TU!..y94;L;LW;UV!..y94;L;LW;UV!..y94;L;LW;UV!..y94;L;LW;UV"#%N $%G
  %&+(-,0,1).+06:#(#("'#(	( #($)$)27+0/4#()$, %)&+!$$&%'*/& ',#($)*/	# ',!%#($)*.( $()-"&_0d ##
 ##m:v ' 4G'4 3??O	{I@
 I I	    c                    US S S.n[        U R                  R                  5       5      n[        S[	        U5      5       Hp  nX4   nU R                  5       nU R                  U5      nUS   R                  5       nX;   a,  U R                  USU-   5      US'   U R                  X5      US'   XbU'   Mr     U R                  U5      $ )N)info	timestampdatetimer   r   
AVAILABLE_freetotal)
list
currencieskeysrangelenaccountcurrencyuppersafe_stringsafe_balance)	r   responseresultcodesicoder   r   	uppercases	            r   parse_balancebit2c.parse_balance$  s    

 T__))+,q#e*%A8DllnG}}T*H ,,.I$"&"2"28\I=U"V#'#3#3H#H "4L &   ((r   c                    #    U R                  5       I Sh  vN   U R                  U5      I Sh  vN nU R                  U5      $  N. N7f)a(  
query for balance and get the amount of funds available for trading or funds locked in orders

https://bit2c.co.il/home/api#balance

:param dict [params]: extra parameters specific to the exchange API endpoint
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
N)load_marketsprivateGetAccountBalanceV2r  )r   paramsr  s      r   fetch_balancebit2c.fetch_balance6  sI      !!!88@@V !!(++Y 	"@s   A	AA	AA	A	Nr   r   c                    #    U R                  5       I Sh  vN   U R                  U5      nSUS   0nU R                  U R                  XS5      5      I Sh  vN nU R	                  Xa5      $  NU N7f)a  
fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data

https://bit2c.co.il/home/api#orderb

: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
Npairr   )r  marketpublicGetExchangesPairOrderbookextendparse_order_book)r   r   r   r  r  request	orderbooks          r   fetch_order_bookbit2c.fetch_order_bookm  sq      !!!V$F4L
 >>t{{7?[\\	$$Y77 	"
 ]!   A0A,?A0A.A0.A0tickerr  c                 h   U R                  S U5      nU R                  US5      nU R                  US5      nU R                  US5      nU R                  0 SU_SS _SS _SS _SS _S	U R                  US
5      _SS _SU R                  US5      _SS _SS _SS _SU_SU_SS _SS _SS _SU_US US.EU5      $ )Navallr   r   r   highlowbidh	bidVolumeaskl	askVolumevwapopencloselastpreviousClosechanger   average)
baseVolumequoteVolumer   )safe_symbolr   safe_ticker)r   r  r  r   averagePricer/  r+  s          r   parse_tickerbit2c.parse_ticker  sY   !!$/''5%%fc2
- !
f!
!
 !
 D	!

 4!
 4##FC0!
 !
 4##FC0!
 !
 D!
 D!
 T!
 D!
 T!
 d!
  $!!
" |#!
$ %)!
* + 	r   c                    #    U R                  5       I Sh  vN   U R                  U5      nSUS   0nU R                  U R                  XB5      5      I Sh  vN nU R	                  XS5      $  NU N7f)a  
fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market

https://bit2c.co.il/home/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>`
Nr  r   )r  r  publicGetExchangesPairTickerr  r4  )r   r   r  r  r  r  s         r   fetch_tickerbit2c.fetch_ticker  sq      !!!V$F4L
 ::4;;w;WXX  22 	"
 Yr  sincec                   #    U R                  5       I Sh  vN   U R                  U5      nU R                  S   nSUS   0nUb  U R                  U5      US'   Ub  X7S'   SnUS:X  a)  U R	                  U R                  Xt5      5      I Sh  vN nO(U R                  U R                  Xt5      5      I Sh  vN n[        U[        5      (       a  [        U5      eU R                  XX#5      $  N Na N:7f)a  
get the list of most recent trades for a particular symbol

https://bit2c.co.il/home/api#transactions
https://bit2c.co.il/home/api#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>`
Nr   r  r   dater   r   )r  r  r   parse_to_intpublicGetExchangesPairTradesr   publicGetExchangesPairLasttrades
isinstancestrr   parse_trades)	r   r   r:  r   r  r  methodr  r  s	            r   fetch_tradesbit2c.fetch_trades  s      !!!V$12F4L
 "//6GFO$G77!>>t{{7?[\\H!BB4;;wC_``H h$$))  5@@1 	" ]`s4   C1C+A4C1C-(C14C/57C1-C1/C1c                 P  #    U R                  5       I Sh  vN   U R                  U5      I Sh  vN nU R                  US0 5      n[        UR	                  5       5      n0 n[        S[        U5      5       H  nXF   nU R                  U5      nU R                  X75      n	U R                  U	S5      n
U R                  U	S5      nU R                  [        R                  " U
S5      5      nU R                  [        R                  " US5      5      nU	UUUSSS.XX'   M     U$  GN N7f)	a  
fetch the trading fees for multiple markets

https://bit2c.co.il/home/api#balance

: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
NFeesr   FeeMakerFeeTaker100T)r   r   r   r   r   r   )r  privateGetAccountBalance
safe_valuer   r   r   r   r1  r   r   r   
string_div)r   r  r  r   r   r  r  marketIdr   feemakerStringtakerStringr   r   s                 r   fetch_trading_feesbit2c.fetch_trading_fees  s     !!!66v>>" x4DIIK q#d)$AwH%%h/F//$1C**3
;K**3
;K%%g&8&8e&LME%%g&8&8e&LME "!FN %  K 	">s    D&D!D&D$C2D&$D&r   sideamountpricec                   #    U R                  5       I Sh  vN   SnU R                  U5      nUUS   S.n	US:X  a  USU R                  U5      -   -  nOVXYS'   U R                  U5      n
U R                  U5      nU R	                  [
        R                  " X5      5      U	S'   US	:H  U	S
'   [        X5      " U R                  X5      5      I Sh  vN nU R                  X5      $  N N7f)a;  
create a trade order

https://bit2c.co.il/home/api#addo

: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>`
NprivatePostOrderAddOrderr   )AmountPairr  MarketPricePriceTotalbuyIsBid)
r  r  
capitalizenumber_to_stringparse_to_numericr   
string_mulgetattrr  parse_order)r   r   r   rT  rU  rV  r  rC  r  r  amountStringpriceStringr  s                r   create_orderbit2c.create_order  s      !!!+V$4L
 8mdood&;;;F$G008L//6K#44W5G5G5bcGG $GG .t{{7/KLL11! 	" Ms"   C'C#B6C'C%C'%C'r   c                    #    SU0nU R                  U R                  XC5      5      I Sh  vN nU R                  U5      $  N7f)a(  
cancels an open order

https://bit2c.co.il/home/api#cancelo

:param str id: order id
:param str symbol: Not used by bit2c 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   N)privatePostOrderCancelOrderr  re  )r   r   r   r  r  r  s         r   cancel_orderbit2c.cancel_order%  sH      "
 99$++g:VWW)) Xs   (AA Ac                   #    Uc  [        U R                  S-   5      eU R                  5       I Sh  vN   U R                  U5      nSUS   0nU R	                  U R                  Xd5      5      I Sh  vN nU R                  XuS   0 5      nU R                  US/ 5      n	U R                  US/ 5      n
U R                  U R                  X5      XRU5      $  N Nc7f)a  
fetch all unfilled currently open orders

https://bit2c.co.il/home/api#geto

: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 order 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>`
Nz- fetchOpenOrders() requires a symbol argumentr  r   r%  r"  )
r   r   r  r  privateGetOrderMyOrdersr  rL  	safe_listparse_ordersarray_concat)r   r   r:  r   r  r  r  r  ordersasksbidss              r   fetch_open_ordersbit2c.fetch_open_orders6  s      >#DGG.]$]^^!!!V$F4L
 55dkk'6RSS$<<vub1~~feR0  !2!24!>uUU 	"
 Ts"   /CC?C1C2A"CCc                    #    U R                  5       I Sh  vN   U R                  U5      nSU0nU R                  U R                  XS5      5      I Sh  vN nU R	                  Xd5      $  NR N7f)a<  
fetches information on an order made by the user

https://bit2c.co.il/home/api#getoid

:param str id: the order id
:param str symbol: unified market symbol
:param dict [params]: extra parameters specific to the exchange API endpoint
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
Nr   )r  r  privateGetOrderGetByIdr  re  )r   r   r   r  r  r  r  s          r   fetch_orderbit2c.fetch_orderO  so      !!!V$"
 44T[[5QRR 11) 	"
 Ss!   A-A)<A-A+A-+A-orderc                 Z   S nSnSU;   a  US   nSnOUnU R                  US5      nU R                  S U5      nU R                  USS5      nU(       a*  U R                  US5      nUS:X  d  US	:X  a  S
n	O2US:X  a  Sn	O)U R                  US5      nUS:X  d  US:X  a  S
n	OUS:X  a  Sn	U R                  US5      n
U
S:X  a  Sn
OU
S:X  a  Sn
U R                  US5      nUS:X  a  SnOUS:X  a  SnU R                  US5      nS nS nU(       a%  U R                  US5      nU R                  US5      nO$U R                  US5      nU R                  US5      nU R	                  0 SU_SS _SU_SU R                  U5      _SS _SW	_S U_SU
_S!S _S"S _S#U_SU_S$S _SU_S%S _S&U_S'S _S S US S(.EU5      $ ))NFNewOrderTr   createdi  status_typer      r)     closedstatusNewOpen	Completed
order_typer   r   1r  r   r^  sellrV  rU  initialAmountclientOrderIdr   r   lastTradeTimestampr   r   postOnlyrT  r   filled	remainingcost)tradesrO  r   r.  )r   r1  safe_integer_productsafe_integer
safe_orderiso8601)r   r|  r  orderUnified
isNewOrderr   r   r   
tempStatusr  r   rT  rV  rU  r  s                  r   re  bit2c.parse_orderp  s   > 
 ,LJ LlD1!!$/--lItL	 **<GJQ*/q!)),AJU"jF&:{*! l;3;DS[D f53;DS[D  w7	%%lH=F((x@I%%lODF((x@I  
" 
T 
  
 Y/	 

 !$ 
 f 
 f 
 D 
 4 
  
 D 
 U 
 D 
 f 
 d 
  ! 
" D# 
$ + 
, - 	r   c                   #    U R                  5       I Sh  vN   Sn0 nUb  X6S'   X6S'   Ub8  U R                  U R                  5       S5      US'   U R                  US5      US'   Ub  U R                  U5      nUS   US'   U R	                  U R                  Xd5      5      I Sh  vN nU R                  XuX#5      $  N N7f)a  
fetch all trades made by the user

https://bit2c.co.il/home/api#orderh

: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>`
Ntake.toTimefromTimer   r  )r  yyyymmddmillisecondsr  privateGetOrderOrderHistoryr  rB  )r   r   r:  r   r  r  r  r  s           r   fetch_my_tradesbit2c.fetch_my_trades  s      !!!#FO $d.?.?.A3 GGH"&--s";GJ[[(F$TlGFO99$++g:VWWN   5@@g 	" Xs"   B?B;BB?$B=%B?=B?c                 r    SnUR                  S5      n[        S[        U5      5       H
  nX#U   -  nM     U$ )N ,r   )splitr   r   )r   rA  	newStringstrPartsr  s        r   remove_comma_from_valuebit2c.remove_comma_from_value  s;    	99S>q#h-(A!$I )r   tradec                    S nS nS nS nS nU R                  US5      nUb  Un	U R                  US5      n
U R                  US5      nU R                  U5      nU R                  US5      nUR                  S5      nU R                  US5      nU R	                  X5      nU R	                  US   U5      nU R                  US5      nU(       a  S	OS
nU(       a  US   OUS   nU R                  US5      nUS:X  a  SnOSnU R                  US5      nUb  USS.nOiU R                  US5      n
U R                  US5      n	U R                  US5      nU R                  US5      nU R                  US5      nUb  U(       a  SnOSnU R	                  S U5      nU R                  UU	U
U R                  U
5      US   US UUUUS US.U5      $ )N	referenceticksrV  firstAmount|r  r   isMakerr   r      r  actionr^  r  	feeAmountr   )r  r   r<  tidrU  isBidr   )r   r   r   r   r   r|  r   rT  takerOrMakerrV  rU  r  rO  )	r   safe_timestampr  r  safe_marketrL  r  
safe_trader  )r   r  r  rV  rU  orderIdrO  makerOrTakerr  r   r   reference_partsrN  r  r  rT  feeCosts                    r   parse_tradebit2c.parse_trade"  s   F $$UK8	 B++E7;I$$UG4E007E%%e];F'ooc2O''v6H%%h7F%%oa&8&AFooeY7G&-77L,3oa(9KG&&uh7F{&&uk:G"# %
 ++E6:I!!%/B$$UG4E%%eX6F??5'2D D!D!!$/"Y/X&( 
  	r   c                     US:H  $ )Nr    )r   r  s     r   is_fiatbit2c.is_fiat  s    u}r   r  c                 @  #    U R                  5       I Sh  vN   U R                  U5      nU R                  U5      (       a  [        U R                  S-   5      eSUS   0nU R                  U R                  XB5      5      I Sh  vN nU R                  XS5      $  N N7f)a5  
fetch the deposit address for a currency associated with self account

https://bit2c.co.il/home/api#addc

:param str code: unified currency code
:param dict [params]: extra parameters specific to the exchange API endpoint
:returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
Nz7 fetchDepositAddress() does not support fiat currenciesCoinr   )r  r   r  r   r   #privatePostFundsAddCoinFundsRequestr  parse_deposit_address)r   r  r  r   r  r  s         r   fetch_deposit_addressbit2c.fetch_deposit_address  s      !!!==&<<tww)bbccHTN
 AA$++gB^__ ))(== 	" `s"   BBA-BBBBr   c                 |    U R                  US5      nU R                  U5        U R                  S U5      nUUS US S.$ )Naddress)r   r   networkr  tag)r   check_addresssafe_currency_code)r   depositAddressr   r  r  s        r   r  bit2c.parse_deposit_address  sO     "">9=7#&&tX6"
 	
r   c                 "    U R                  5       $ N)r  )r   s    r   noncebit2c.nonce  s      ""r   r   GETc                    U R                   S   S   S-   U R                  X5      -   nUS:X  a  US-  nOU R                  5         U R                  5       nU R	                  SU0U5      n	U R                  U	5      n
US:X  a  U	(       a  USU
-   -  nOU
nU R                  U R                  U
5      U R                  U R                  5      [        R                  S	5      nS
U R                  US.nXsXeS.$ )Nr   r   /r   z.jsonr  r  ?base64z!application/x-www-form-urlencoded)zContent-Typekeysign)urlrC  bodyheaders)r   implode_paramscheck_required_credentialsr  r  	urlencodehmacencodesecrethashlibsha512apiKey)r   pathr   rC  r  r  r  r  r  queryauth	signatures               r   r  
bit2c.sign  s    iiv&,t/B/B4/PP(?7NC++-JJLEKK!E >>%(D3:%C		$++d"3T[[5Mw~~_ghI C{{!G
 dOOr   httpCodereasonr  rC  r  r  c
                    Uc  g U R                  US5      n
U
c  U R                  US5      n
U
b[  U R                  S-   U-   nU R                  U R                  S   X5        U R	                  U R                  S   X5        [        U5      eg )NerrorError r   r   )r   r   throw_exactly_matched_exceptionr   throw_broadly_matched_exceptionr   )r   r  r  r  rC  r  r  r  requestHeadersrequestBodyr  feedbacks               r   handle_errorsbit2c.handle_errors  s       73=$$Xw7Eww}t+H001I5[001I5[))r   r  r  )0__name__
__module____qualname____firstlineno__r   r   r   r  r  rA  r	   r   r  dictr
   r   r4  r8  r   r   rD  r   rR  r   r   floatr   rh  r   rl  r   rv  rz  re  r  r  r  r  r   r  r   r  r  r  intr  __static_attributes____classcell__)r   s   @r   r   r      sf   J# JX) )$ *, 5, 5,n @DB 8S 8 8S\ 8&4  6 8 68 3 3F 3$ <@d[] %A %AS %A %Abfglbm %AN /1 .[ .` mqy{ 2 2I 2Y 2X] 2fi 2@ 9=R *S *# *" 59tZ^gi Vc V VTW Vnrsxny V2 8<B 2C 2 2Bh hv h hT 37TX\eg ?AC ?As ?ARU ?AB\ \v \ \| =? > >> >4
h 
R` 
$# &eBSW P0c 3 S # X\ dg  r   r   )$ ccxt.async_support.base.exchanger   ccxt.abstract.bit2cr   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   r   r   r   ccxt.base.decimal_to_precisionr   ccxt.base.preciser   r   r  r   r   <module>r     s\    6 +  _  _  _  _  _  * 0 - . * ) ) 4 %DHk Dr   