
    (i                         d dl 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mZ d dlmZ d dlmZmZmZmZmZmZmZ  G d	 d
e      Zy)    )CallableListOptionalTupleUnion)HexStr)is_checksum_address)assoc)RPC)Methoddefault_root_munger)Module)BlockIdentifier
BlockTraceFilterTraceTraceFilterParams	TraceModeTxParams_Hash32c                      e Zd ZU dZdZeed<   edefd       Zej                  deddfd       Z	 dd	e
eef   d
edee
eef   ef   fdZ eej"                  eg      Zeedef      ed<    eej*                  eg      Zeedee   f      ed<    eej0                  eg      Zeeegee   f      ed<    eej4                  eg      Zeeegee   f      ed<    eej:                  eg      Zeeegee   f      ed<   	 	 dded
ed	ee   deeeef   fdZ  eejB                  e g      Z!eedef      ed<   	 dde"d
edee"ef   fdZ# eejH                  e#g      Z%eedef      ed<   y)Tracingz=
    https://openethereum.github.io/JSONRPC-trace-module
    latest_default_blockreturnc                     | j                   S Nr   )selfs    =/var/www/br/venv/lib/python3.12/site-packages/web3/tracing.pydefault_blockzTracing.default_block/   s    """    valueNc                     || _         y r   r   )r   r"   s     r   r    zTracing.default_block3   s
    #r!   block_identifiermodec                     |dg}||fS Ntrace )r   r$   r%   s      r   trace_replay_transaction_mungerz'Tracing.trace_replay_transaction_munger7   s     <9D $''r!   )mungers.trace_replay_transactiontrace_replay_block_transactionstrace_blocktrace_filtertrace_transactiontransactionc                     |dg}d|vrTt        | j                  j                  j                        r+t	        |d| j                  j                  j                        }|| j
                  }|||fS )Nr(   from)r	   w3ethdefault_accountr
   r    )r   r1   r%   r$   s       r   trace_call_mungerzTracing.trace_call_mungerV   so     <9D$)<GGKK''*
  VTWW[[5P5PQK##11T#344r!   
trace_callraw_transactionc                     |dg}||fS r'   r)   )r   r9   r%   s      r   trace_transactions_mungerz!Tracing.trace_transactions_mungerm   s     <9D$$r!   trace_raw_transactionr   )NN)&__name__
__module____qualname____doc__r   r   __annotations__propertyr    setterr   r   r   r   r*   r   r   trace_replayTransactionr,   r   r   trace_replayBlockTransactionsr-   r   r.   r   r/   r   r   r0   r   r   r7   r8   r   r;   trace_rawTransactionr<   r)   r!   r   r   r   (   s    '/NO.# # # $? $t $ $ TX( %g&> ?(GP(	u_g-.	9	:( CI##01CfXc:o%>? 
 PV))4S3TP#VHS$z:J5J,K%L  JP$%JK/!2D4D!DEF 
 NT$%NL&#4"5tK7H"HIJ 
 IO$%Ivhy${2C'CDE  6:	55 5 #?3	5
 
xO3	45$ 5;"#5JxZ01  :>%%%-6%	vy 	!% @F  *+@6(3
?";< r!   r   N)typingr   r   r   r   r   
eth_typingr   	eth_utilsr	   eth_utils.toolzr
   web3._utils.rpc_abir   web3.methodr   r   web3.moduler   
web3.typesr   r   r   r   r   r   r   r   r)   r!   r   <module>rO      sJ      Of Or!   