
    (iQ                        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 d dlZd dl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mZ d d
l m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 d dl6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZP d dlQmRZR erd dlSmTZT  G d de-      ZUy)    )TYPE_CHECKINGAnyCallableDictListOptionalSequenceTupleTypeUnioncastoverloadN)AddressBlockNumberChecksumAddressHexStr)merge)HexBytes)"select_method_for_block_identifier)Unpack)fee_history_priority_fee)Filterselect_filter_method)RPC)Timeout)assert_valid_transaction_params extract_valid_transaction_paramsget_required_transactionreplace_transaction)ContractContractCaller)BaseEth)OffchainLookupTimeExhaustedTooManyRequestsTransactionIndexingInProgressTransactionNotFoundWeb3RPCErrorWeb3ValueError)DeprecatedMethodMethoddefault_root_munger)ENS	BlockDataBlockIdentifierBlockParamsBlockReceiptsCreateAccessListResponse
FeeHistoryFilterParams
LogReceiptMerkleProofNonceSignedTxSimulateV1PayloadSimulateV1ResultStateOverride
SyncStatusTxDataTxParams	TxReceiptUncleWei_Hash32)handle_offchain_lookup)Web3c                   \   e Zd ZU ded<   eZeeeef      ed<    e	e
j                  d      Ze	eg ee   f      ed<   edee   fd       Z e	e
j$                  d      Ze	eg ef      ed	<   edefd
       Z e	e
j,                  d      Ze	eg ef      ed<   edefd       Z e	e
j4                  d      Ze	eg ef      ed<   edefd       Z e	e
j<                  d      Ze	eg ef      ed<   edefd       Z  e	e
jB                  d      Z"e	eg ef      ed<   edefd       Z# e	e
jH                  d      Z%e	eg ee&e'f   f      ed<   edee&e'f   fd       Z( e	e
jR                  e*g      Z+e	eeee,ef   e-e.e/      ge0f      ed<   	 dndedee,ef   de-e.e/      de0fdZ1 e	e
jd                  e3jh                  g      Z5e	ee6e-e7   e-e8   ge9f      ed<   	 	 	 dode6de-e7   de-e8   d e-e'   de9f
d!Z:	 	 dpde6de-e7   de-e8   de9fd"Z; e	e
jx                        Z=e	ee>e7ge?e@   f      ed#<   d$e>de7de?e@   fd%ZA e	e
j                  e3j                  g      ZDe	ee6e-e7   geEf      ed&<   	 dnde6de-e7   deEfd'ZF e	e
j                  e3j                  g      ZIe	ee6e-e7   e-e8   gef      ed(<   	 	 dpde6de-e7   de-e8   defd)ZJ e	e
j                  e*g      ZLe	eeMgeNf      ed*<   d+eMdeNfd,ZO e	e
j                  e*g      ZQe	eeMge9f      ed-<   d+eMde9fd.ZR e	 eSe
j                  e
j                  e
j                  /      e*g0      ZVe	ee7egeNf      ed1<    e	 eSe
j                  e
j                  e
j                  /      e*g0      ZYe	ee7ege9f      ed2<   de7d3ede9fd4ZZ e	 eSe
j                  e
j                  e
j                  /      e*g0      Z]e	ee7gef      ed5<    e	e
j                  e3j                  g      Z`e	ee6ge9f      ed6<   de6de9fd7Za e	e
j                  e*g      Zce	eeedeef   ge9f      ed8<   deedeef   de9fd9Zf e	 eSe
j                  e
j                  e
j                  /      e3j                  g0      Zje	ee7e'gekf      ed:<   	 dqde7d;e'dekfd<Zl e	e
j                  e*g      Zne	ee7geof      ed=<   de7deofd>Zp e	e
j                  e3j                  g      Zse	eeeteeuf   e-e7   gef      ed?<   	 dnd@eeteeuf   de-e7   defdAZv e	e
j                  e3j                  g      Zxe	eeeteeuf   e-e7   ge9f      edB<   	 dnd@eeteeuf   de-e7   de9fdCZy e	e
j                  e*g      Z{e	ee|ge.e}   f      edD<   dEe|de.e}   fdFZ~ e	e
j                  e3j                  g      Ze	eeeteeuf   e-e7   gef      edG<   	 dnd@eeteeuf   de-e7   defdHZ e	e
j                  e*g      Ze	eeMgef      edI<   d+eMdefdJZ	 drd+eMdKe/dLe/defdMZ e	e
j                  e3j                  g      Ze	eeeteeuf   ee-e7   ge9f      edN<   	 dnd@eeteeuf   dOede-e7   de9fdPZ	 dnd@eeteeuf   dQe?e   de-e7   deeeteeuf   e?e   e-e7   f   fdRZ e	e
j                  eg      Ze	eeeeteeuf   e?e   e-e7   f   gef      edS<    e	 eSe
j                   e
j"                  e
j                   /      e*g0      Ze	ee7gef      edT<    eedTdUdVW      Z e	 eSe
j*                  e
j,                  e
j*                  /      e*g0      Ze	ee7egef      edX<    eedXdYdVW      Zd+eMdZe6de9fd[Zd+eMd\ee6   de9fd]Z e	e
j:                  e3j<                  g      Ze	ed^edf      ed_<    e	e
j@                  e*g      Ze	ee6gef      ed`<    e	e
jF                  e*g      Ze	eeeteeuf   eeef   gedf      eda<    e	 ee
jR                  e
jT                  e
jV                  b      e3jX                  g0      Ze	ee-eee|edf      gef      edc<    e	e
j^                  e*g      Ze	eedge.e}   f      edd<    e	e
jb                  e*g      Ze	eedge.e}   f      ede<    e	e
jf                  e*g      Ze	eedge'f      edf<   edndgddhedee   fdi       Zedgeeteeuf   dhedefdj       Z	 dndge-eeteeuf      dhedeee   ef   fdkZdleeeef      ddfdmZy)sEthrD   w3_default_contract_factoryT)is_property	_accountsreturnc                 "    | j                         S N)rJ   selfs    =/var/www/br/venv/lib/python3.12/site-packages/web3/eth/eth.pyaccountszEth.accountsy       ~~    _eth_blobBaseFeec                 "    | j                         S rM   )rT   rN   s    rP   blob_base_feezEth.blob_base_fee       $$&&rS   get_block_numberc                 "    | j                         S rM   )rX   rN   s    rP   block_numberzEth.block_number   rW   rS   	_chain_idc                 "    | j                         S rM   )r[   rN   s    rP   chain_idzEth.chain_id   rR   rS   
_gas_pricec                 "    | j                         S rM   )r^   rN   s    rP   	gas_pricezEth.gas_price   s      rS   _max_priority_feec                     	 | j                         S # t        $ r% t        j                  dd       t	        |       cY S w xY w)z
        Try to use eth_maxPriorityFeePerGas but, since this is not part
        of the spec and is only supported by some clients, fall back to
        an eth_feeHistory calculation with min and max caps.
        z^There was an issue with the method eth_maxPriorityFeePerGas. Calculating using eth_feeHistory.   )
stacklevel)ra   r(   warningswarnr   rN   s    rP   max_priority_feezEth.max_priority_fee   sF    	2))++ 	2MM4
 ,D11	2s    +A A _syncingc                 "    | j                         S rM   )rh   rN   s    rP   syncingzEth.syncing   s    }}rS   )mungers_fee_historyNblock_countnewest_blockreward_percentilesc                 4    |xs g }| j                  |||      S rM   )rl   )rO   rm   rn   ro   s       rP   fee_historyzEth.fee_history   s%     052  l<NOOrS   _calltransactionblock_identifierstate_overrideccip_read_enabledc                     | j                   j                  j                  }|r|dus|s|du r| j                  |||      S | j	                  |||      S )NFT)rG   providerglobal_ccip_read_enabled_durin_callrr   )rO   rs   rt   ru   rv   ccip_read_enabled_on_providers         rP   callzEth.call   s^     )-(8(8(Q(Q% *!. 1!T)##K1A>RRzz+'7HHrS   c                    | j                   j                  j                  }|r|dk  rt        d      t	        |      D ]  }	 | j                  |||      c S  t        d      # t        $ rd}t        |j                  || j                   j                  j                  | j                   j                  j                        }||d<   Y d }~d }~ww xY w)N   z@ccip_read_max_redirects property on provider must be at least 4.)
allow_httpurl_validatordatazToo many CCIP read redirects)rG   rx   ccip_read_max_redirectsr)   rangerr   r#   rC   payloadccip_read_allow_httpccip_read_url_validatorr%   )rO   rs   rt   ru   max_redirects_offchain_lookupdurin_calldatas           rP   rz   zEth._durin_call   s     ((@@ 1 R  }% 
	5A	5zz+/?PP
	5 <== " 5!7#++#ww//DD"&''"2"2"J"J	" '5F#5s   A##	C,ACC_simulateV1r   c                 &    | j                  ||      S rM   )r   )rO   r   rt   s      rP   simulate_v1zEth.simulate_v1  s    
 )9::rS   _create_access_listc                 &    | j                  ||      S rM   )r   )rO   rs   rt   s      rP   create_access_listzEth.create_access_list,  s    
 ''5EFFrS   _estimate_gasc                 (    | j                  |||      S rM   )r   )rO   rs   rt   ru   s       rP   estimate_gaszEth.estimate_gas9  s     !!+/?PPrS   _get_transactiontransaction_hashc                 $    | j                  |      S rM   )r   rO   r   s     rP   get_transactionzEth.get_transactionG  s    $$%566rS   _get_raw_transactionc                 $    | j                  |      S rM   )r   r   s     rP   get_raw_transactionzEth.get_raw_transactionP      (()9::rS   )if_predefinedif_hash	if_number)method_choice_depends_on_argsrk   get_transaction_by_block_get_raw_transaction_by_blockindexc                 &    | j                  ||      S rM   )r   )rO   rt   r   s      rP   get_raw_transaction_by_blockz Eth.get_raw_transaction_by_blockm  s     112BEJJrS   get_block_transaction_count_send_transactionc                 $    | j                  |      S rM   )r   rO   rs   s     rP   send_transactionzEth.send_transaction  s    %%k22rS   _send_raw_transactionc                 $    | j                  |      S rM   )r   r   s     rP   send_raw_transactionzEth.send_raw_transaction  s    ))+66rS   
_get_blockfull_transactionsc                 &    | j                  ||      S rM   )r   )rO   rt   r   s      rP   	get_blockzEth.get_block  s     /1BCCrS   _get_block_receiptsc                 $    | j                  |      S rM   )r   )rO   rt   s     rP   get_block_receiptszEth.get_block_receipts  s    ''(899rS   _get_balanceaccountc                 &    | j                  ||      S rM   )r   rO   r   rt   s      rP   get_balancezEth.get_balance  s    
   *:;;rS   	_get_codec                 &    | j                  ||      S rM   )r   r   s      rP   get_codezEth.get_code  s    
 ~~g'788rS   	_get_logsfilter_paramsc                 $    | j                  |      S rM   )r   )rO   r   s     rP   get_logszEth.get_logs  s     ~~m,,rS   _get_transaction_countc                 &    | j                  ||      S rM   )r   r   s      rP   get_transaction_countzEth.get_transaction_count  s    
 **74DEErS   _transaction_receiptc                 $    | j                  |      S rM   )r   r   s     rP   get_transaction_receiptzEth.get_transaction_receipt  r   rS   timeoutpoll_latencyc                    	 t        |      5 }	 	 | j                  |      }|n|j	                  |       '	 d d d        |S # t        t        f$ r d }Y 3w xY w# 1 sw Y   S xY w# t         $ r t        dt        |      d| d      w xY w)NzTransaction z is not in the chain after z seconds)r   r   r'   r&   sleepr$   r   )rO   r   r   r   _timeout
tx_receipts         rP   wait_for_transaction_receiptz Eth.wait_for_transaction_receipt  s    	! 1X*%)%>%>?O%P
 "-NN<0  1  01NO *%)
*	1  	x(89= > 	+ 	sI   A% AAA	A% AAAAA"A% "A% %%B
_get_storage_atpositionc                 (    | j                  |||      S rM   )r   )rO   r   r   rt   s       rP   get_storage_atzEth.get_storage_at  s     ##GX7GHHrS   	positionsc                 (    || j                   }|||fS rM   )default_block)rO   r   r   rt   s       rP   get_proof_mungerzEth.get_proof_munger  s$     ##11$455rS   	get_proof_get_uncle_countget_uncle_countz+All get_uncle* methods have been deprecated)old_namenew_namemsg_get_uncle_by_blockget_uncle_by_blocknew_transactionc                 \    t        | j                  |      }t        | j                  ||      S rM   )r   rG   r   )rO   r   r   current_transactions       rP   r   zEth.replace_transaction]  s*     7tww@PQ"477,?QQrS   transaction_paramsc                     t        t        t        |             t        | j                  |      }t        |      }t        ||      }t        | j                  ||      S rM   )r   r   r>   r   rG   r   r   r   )rO   r   r   r   current_transaction_paramsr   s         rP   modify_transactionzEth.modify_transactionc  sX     	(X7I(JK6tww@PQ%E&
"   :<NO"477,?QQrS   .signsign_transactionsign_typed_data)if_new_block_filter!if_new_pending_transaction_filterif_new_filterfilterget_filter_changesget_filter_logsuninstall_filteraddresskwargsc                      y rM    rO   r   r   s      rP   contractzEth.contract  s    rS   c                      y rM   r   r   s      rP   r   zEth.contract  s     	rS   c                     |j                  d| j                        } |j                  | j                  fi |}|r ||      S |S )NContractFactoryClass)poprH   factoryrG   )rO   r   r   r   ContractFactorys        rP   r   zEth.contract  sP    
  &zz"D$B$B 
 7.66twwI&I"7++""rS   contract_factoryc                     || _         y rM   )rH   )rO   r   s     rP   set_contract_factoryzEth.set_contract_factory  s     *:&rS   rM   )NNN)NN)F)x   g?)__name__
__module____qualname____annotations__r    rH   r   r   r!   r+   r   eth_accountsrJ   r   r
   r   propertyrQ   eth_blobBaseFeerT   rA   rV   eth_blockNumberrX   r   rZ   eth_chainIdr[   intr]   eth_gasPricer^   r`   eth_maxPriorityFeePerGasra   rg   eth_syncingrh   r<   boolrj   eth_feeHistoryr,   rl   r0   r   r   floatr3   rq   eth_callr"   call_mungerrr   r>   r/   r;   r   r|   rz   eth_simulateV1r   r9   r	   r:   r   eth_createAccessListcreate_access_list_mungerr   r2   r   eth_estimateGasestimate_gas_mungerr   r   eth_getTransactionByHashr   rB   r=   r   eth_getRawTransactionByHashr   r   r   'eth_getTransactionByBlockNumberAndIndex%eth_getTransactionByBlockHashAndIndexr   *eth_getRawTransactionByBlockNumberAndIndex(eth_getRawTransactionByBlockHashAndIndexr   r   $eth_getBlockTransactionCountByNumber"eth_getBlockTransactionCountByHashr   eth_sendTransactionsend_transaction_mungerr   r   eth_sendRawTransactionr   r   bytesr   eth_getBlockByNumbereth_getBlockByHashget_block_mungerr   r.   r   eth_getBlockReceiptsr   r1   r   eth_getBalanceblock_id_mungerr   r   r-   r   eth_getCoder   r   eth_getLogsr   r4   r5   r   eth_getTransactionCountr   r7   r   eth_getTransactionReceiptr   r?   r   r   eth_getStorageAtget_storage_at_mungerr   r   r   eth_getProofr   r6   eth_getUncleCountByBlockNumbereth_getUncleCountByBlockHashr   r*   r   !eth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexr   r@   r   r   r   r   eth_signsign_mungerr   eth_signTransactionr   r8   eth_signTypedDatar   r   strr   r   eth_newBlockFiltereth_newPendingTransactionFiltereth_newFilterfilter_mungerr   r   eth_getFilterChangesr   eth_getFilterLogsr   eth_uninstallFilterr   r   r   r   r   rS   rP   rF   rF   l   s   JGOtE(N*B$CDO ?E?Ivhr5#99:; 
  %0    
 393fXb#g./ 
 's ' '
 ;A;fXb+o67 
 'k ' '
 ,2,Ivhr3w'( 
  #    
 -3-JxC() 
 !3 ! !
 4:$$4vhr3w/0 
 2# 2 2$ ?E?HfXb%
D(8"99:; 
 z4/0   	s!!,?+@A	 &%[018DK3HI:U	
 B 59	PP K45P %T%[1	P
 
P  	s||g&9&9%:; 
6x0(=2IJ	
 < 7;26,0II #?3I !/	I
 $D>I 
I0 7;26	>> #?3> !/	>
 
>> 	s!!" #_5x@P7QQR #;"; *; 
"	#	; 	s'''2S2S1TU x01$&	
 V 7;GG #?3G 
"	G 	s""W-H-H,IJ 6(H_5x7NOQTTU K 7;26	QQ #?3Q !/	Q
 
Q =C$$/B.C=fXwi&789 7 7F 7
 CI''2E1FC&7)X*=!>? ;G ; ; RX&HEE==AA'

 %%RfX.Df.L%MN  	&HHH@@DD'

 %%	 "6/3'12$ 	K /K8;K	K MS&HBB::>>'

 %%M/1BC1G(H!I  AG'*I*I)JAvhz8';<= 3H 3 3
 QW""$%Q6(E&%-,@+A8+K"LM 
7fem0D 7 7 HN&H22**..'

 ))*HJx$ 7 BCD  LQD /DDHD	D OU  $%O/):M)I JK 
:? :} : 	(()	 &%#568QRTWWX  7;<w45< #?3< 
	< 	s)@)@(AB	 v7OS018O3LMxW	
 C 7;9w459 #?39 
	9 EK"5!6EIvh~tJ/??@A -#- 
j	- 	##(()		 F7OS018O3LMuT	
  7;Fw45F #?3F 
	F DJ%%0C/DD&7)Y*>!?@ ; ;I ; VY '27MR	8 	../	 V7OS0138QR	
  7;	Iw45I I #?3	I
 
I 7;	
6w45
6 C=
6 #?3	
6
 
g+,hsmXo=VV

6. 	!"	 v'?C78SM_-/ 		
 & BH&H<<4488'

 %%BfX&7&<=>  '#"9	O LR&H??77;;'

 %%L/3)?)F GH  *&%9	R 'R:BR	R	R '	R?Eh?O	R		R +1w223+D&#v+&
'  @F$%@fXxj(&:;<  	$%	 V%#56S#XGOP  	&: # 6 6.1.Q.Q++'

 &&'	 F(5lF!:;<=vEF 	 HN  +>*?Hx$z2B(BCD  EK(;'<EOVHfXtJ/?%?@A  :@$%:fXvhn56 
  s tH~   Wos:;GJ	  CG#%# =>?# # 
tH~x'	(	# :uX~%=>?: 
:rS   rF   )Vtypingr   r   r   r   r   r   r	   r
   r   r   r   r   re   
eth_typingr   r   r   r   eth_utils.toolzr   hexbytesr   web3._utils.blocksr   web3._utils.compatr   web3._utils.fee_utilsr   web3._utils.filtersr   r   web3._utils.rpc_abir   web3._utils.threadsr   web3._utils.transactionsr   r   r   r   web3.contractr    r!   web3.eth.base_ethr"   web3.exceptionsr#   r$   r%   r&   r'   r(   r)   web3.methodr*   r+   r,   
web3.typesr-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   
web3.utilsrC   web3rD   rF   r   rS   rP   <module>rQ     s            
     0 R	:' R	:rS   