
    (i5                     	   U d dl Z d dlmZmZmZmZmZ d dlmZ d dl	m
Z
mZmZ d dlmZmZ d dlmZmZmZmZmZmZmZ d dl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&m'Z' erd dl(m)Z)m*Z* dede+fdZ,dede+fdZ- ee-e      Z. ee,      Z/dddddddddZ0 ee0      Z1e.e.e.e.e.e.e. e  eddi             e  e ee.e.e.e.e.d       eddd                  d	Z2 ee2      Z3 ee1e3      Z4d d!d"Z5 ee5      Z6e.e.d#Z7 ee7      Z8 ee8e6      Z9d$d%d&d'd(d)d*d+d,d-d.d/d0d1Z: ee:      Z; e ee jx                  d2       ed             e  eddi             e  ed)d3d4            d5Z= ee=      Z>d6d/d.d'd(d7Z? ee?      Z@d'd(d8d9d:d;d.d/d<d=d>
ZA eeA      ZBi d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQd9dRdSdTdUdVdWdXdYdZd[d\d<d]d^d_d`iZC eeC      ZDda e  edbdci            iZE eeE      ZFdd e e@      iZG eeG      ZH ededSdfdg      ZIi  e&dh       e ee/e.             e&di       ee       e&dj       ee       e&dk       ee ee/e.             e&dl       e ee/e.             e&dm       e ee/e.             e&dn       eee.       e&do       e ee/e.      e.       e&dp       e ee/e.      e.       e&dq       ee9       e&dr       ee9       e&ds       ee4       e&dt       ee4       e&du       ee4 ee/e.             e&dv       ee4 ee/e.             e&dw       ee       e&dx       ee ee/e.             e&dy       ee ee/e.             e&dz       ee. ee/e.             e&d{       ee      iZJ e&d|       ee
 eeDeF             e&dh       ee
 eeDeF             e&d}       ee
e;       e&dl       ee
e;       e&d~       ee
 ee;e>             e&d       ee
 eeBeH             e&dq      e e&d      e e&d      e e&dr       ee e e@             e&di       ee e e@             e&dj       ee e e@             e&dz       ee
eI       e&d      eiZKeee&edef   f      eLd<   ddde'defdZMedeNdedef   ddde'de'f
d       ZOddde'dee   fdZPedeNdedef   ddde'de'f
d       ZQ G d de"      ZR e$j                  eJeK      ZTeRZUy)    N)TYPE_CHECKINGAnyCallableDictOptional)ChecksumAddress)is_dictis_hex	is_string)apply_formatter_ifapply_formatters_to_dict)assoc
complementcomposecurryidentitypartialpipe)apply_formatters_to_argsapply_key_maphex_to_integerinteger_to_hexis_array_of_dictsstatic_return)apply_list_to_array_formatter)Web3Middleware)FormattingMiddlewareBuilder)RPCEndpointTxParams)	AsyncWeb3Web3valuereturnc                 
    | dv S )N>   safelatestearliest	finalized r"   s    U/var/www/br/venv/lib/python3.12/site-packages/web3/providers/eth_tester/middleware.pyis_named_blockr,   =   s    ???    c                 2    t        |       xr t        |       S N)r   r
   r*   s    r+   	is_hexstrr0   A   s    U-u-r-   blob_versioned_hashes	gas_pricemax_fee_per_blob_gasmax_fee_per_gasmax_priority_fee_per_gasaccess_listauthorization_listchain_id)blobVersionedHashesgasPricemaxFeePerBlobGasmaxFeePerGasmaxPriorityFeePerGas
accessListauthorizationListchainIdstorageKeysstorage_keys)r8   noncey_parityrsrD   )r@   yParity)	r@   gasr:   r"   rC   r<   r=   r>   r?   
from_blockto_block)	fromBlocktoBlock)rI   rJ   r>   r?   r9   	blockHashblockNumberr@   r:   r;   r<   r=   transactionHashtransactionIndexinput)r6   r7   r1   
block_hashblock_numberr8   r2   r3   r4   r5   transaction_hashtransaction_indexdata rG   )r8   rD   )tor6   r7   logIndex)	log_indexrU   rT   rR   rS   contractAddressgasUsedcumulativeGasUsedeffectiveGasPriceblobGasUsedblobGasPrice)
rR   rS   contract_addressgas_usedcumulative_gas_usedeffective_gas_pricerT   rU   blob_gas_usedblob_gas_price	gas_limitgasLimitsha3_uncles
sha3Unclestransactions_roottransactionsRootparent_hash
parentHash
logs_bloom	logsBloom
state_root	stateRootreceipts_rootreceiptsRoottotal_difficultytotalDifficulty
extra_data	extraDatarb   base_fee_per_gasbaseFeePerGasmix_hashmixHashcoinbaseminerwithdrawals_rootwithdrawalsRootparent_beacon_block_rootparentBeaconBlockRootre   excess_blob_gasexcessBlobGasrequests_hashrequestsHashwithdrawalsvalidator_indexvalidatorIndexlogsoldestBlockgasUsedRatio)oldest_blockry   gas_used_ratioeth_getBlockByNumbereth_getFilterChangeseth_getFilterLogseth_getTransactionCount$eth_getBlockTransactionCountByNumbereth_getUncleCountByBlockNumber%eth_getTransactionByBlockHashAndIndex'eth_getTransactionByBlockNumberAndIndex!eth_getUncleByBlockNumberAndIndexeth_newFiltereth_getLogseth_sendTransactioneth_estimateGaseth_calleth_createAccessListeth_uninstallFiltereth_getCodeeth_getBalanceeth_feeHistory
evm_reverteth_getBlockByHash"eth_getBlockTransactionCountByHasheth_getTransactionByHasheth_getTransactionReceipteth_newBlockFiltereth_newPendingTransactionFilterevm_snapshot.result_formattersw3r!   _c                     | j                   j                  r;t        | j                   j                        dkD  r| j                   j                  d   S y Nr   ethaccountslen)r   r   s     r+   
guess_fromr   d  s7    	vv3rvv/!3vvq!!r-   field
guess_functransactionc                 D    | |v r||    |S  |||      }t        || |      S r/   r   )r   r   r   r   	guess_vals        r+   fill_defaultr   k  s7    
 E 2 >r;/	[%33r-   async_w3zAsyncWeb3[Any]c                 v   K   | j                   j                   d {   }|t        |      dkD  r|d   S y 7 wr   r   )r   r   r   s      r+   async_guess_fromr   z  s=      \\***HH 1{ +s   979c                 `   K   | |v r||    |S  |||       d {   }t        || |      S 7 wr/   r   )r   r   r   r   r   s        r+   async_fill_defaultr     sC      E 2 >$X{;;	[%33 <s   .,.c                   4    e Zd ZdddedefdZdddedefdZy)"DefaultTransactionFieldsMiddlewaremethodr   paramsr#   c                     |dv r<t        dt        | j                        }t        |d   |      }|gt	        |      dd  z   }||fS N)r   r   r   r   fromr      )r   r   _w3r   list)selfr   r   fill_default_fromfilled_transactions        r+   request_processorz4DefaultTransactionFieldsMiddleware.request_processor  s]     
 
 !-VZ J!%q	!" ))DL,<<Fv~r-   c                    K   |dv r9t        dt        | j                  |d          d {   }|gt        |      dd  z   }||fS 7 wr   )r   r   r   r   )r   r   r   r   s       r+   async_request_processorz:DefaultTransactionFieldsMiddleware.async_request_processor  s`      
 
 (:($((F1I( " ))DL,<<Fv~"s   'AAAN)__name__
__module____qualname__r   r   r   r)   r-   r+   r   r     s7     s s "M 3 SV r-   r   )request_formattersr   )Voperatortypingr   r   r   r   r   
eth_typingr   	eth_utilsr	   r
   r   eth_utils.curriedr   r   eth_utils.toolzr   r   r   r   r   r   r   web3._utils.formattersr   r   r   r   r   r   web3._utils.method_formattersr   web3.middleware.baser   web3.middleware.formattingr   
web3.typesr   r   web3r    r!   boolr,   r0   to_integer_if_hexis_not_named_blockTRANSACTION_REQUEST_KEY_MAPPINGtransaction_request_remapperTRANSACTION_REQUEST_FORMATTERStransaction_request_formattertransaction_request_transformerFILTER_REQUEST_KEY_MAPPINGfilter_request_remapperFILTER_REQUEST_FORMATTERSfilter_request_formatterfilter_request_transformerTRANSACTION_RESULT_KEY_MAPPINGtransaction_result_remappereqTRANSACTION_RESULT_FORMATTERStransaction_result_formatterLOG_RESULT_KEY_MAPPINGlog_result_remapperRECEIPT_RESULT_KEY_MAPPINGreceipt_result_remapperBLOCK_RESULT_KEY_MAPPINGblock_result_remapperBLOCK_RESULT_FORMATTERSblock_result_formatterRECEIPT_RESULT_FORMATTERSreceipt_result_formatterfee_history_result_remapperr   r   __annotations__r   strr   r   r   r   buildethereum_tester_middleware%default_transaction_fields_middlewarer)   r-   r+   <module>r     s0	     
   
 @# @$ @.S .T . 'y.A / 
 3.%6-	#   --LM  !!%-/}n56 7$ 1. 1** jZHI	
" 4 !99W X ") !#    ((BC  $!  44MN $   -2!.% 6)+"  ,,JK  WX[["5}T7J
K0~}56 89)DE!   88UV  +)!  $$:;  !)..)+"$  ((BC < + <	
 + + ^ ) + 	  	  !" )#$  7%& ]'( )* ^+ . &&>?  0(*:;< 
 22IJ  )*=>  44MN  ,%+( @&')A-/@A*@
 &')A.)Q@ #$&>~&N@ )*,D-/@A-@ 679Q-/@A:@ 013K-/@A4@" 78:R;#@* 9:<T-/@A=+@2 346N-/@A73@:  ":"#;@@  8"!A@F %&(@')G@L !"$<'%M@R 
5'-/@AS@Z &')A'-/@A*[@b %&(@(Pc@d  8-/@A!e@l  !#;-/@A$  !#;-/@A$
 7G@ F $%'9.0FG( &');.0FG* 457I#8 679K#: *+-?+-IJ. +,.@')AB/  .$%~12N 2%&9:! &');%&9:* #$&8%&9:'  !#5,$ U+F 8DhsCx.@!@AB +\6 h ?  44$S#X.44:4IQ44 4#+o 44c"4 4 	4
 4 4" B ?8>>)=N  )K %r-   