pub trait TraceApiClient: ClientT {
// Provided methods
fn trace_call(
&self,
call: TransactionRequest,
trace_types: HashSet<TraceType, RandomState>,
block_id: Option<BlockId>,
state_overrides: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
block_overrides: Option<Box<BlockOverrides>>,
) -> impl Future<Output = Result<TraceResults, Error>> + Send { ... }
fn trace_call_many(
&self,
calls: Vec<(TransactionRequest, HashSet<TraceType, RandomState>)>,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Vec<TraceResults>, Error>> + Send { ... }
fn trace_raw_transaction(
&self,
data: Bytes,
trace_types: HashSet<TraceType, RandomState>,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<TraceResults, Error>> + Send { ... }
fn replay_block_transactions(
&self,
block_id: BlockId,
trace_types: HashSet<TraceType, RandomState>,
) -> impl Future<Output = Result<Option<Vec<TraceResultsWithTransactionHash>>, Error>> + Send { ... }
fn replay_transaction(
&self,
transaction: FixedBytes<32>,
trace_types: HashSet<TraceType, RandomState>,
) -> impl Future<Output = Result<TraceResults, Error>> + Send { ... }
fn trace_block(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Vec<LocalizedTransactionTrace>>, Error>> + Send { ... }
fn trace_filter(
&self,
filter: TraceFilter,
) -> impl Future<Output = Result<Vec<LocalizedTransactionTrace>, Error>> + Send { ... }
fn trace_get(
&self,
hash: FixedBytes<32>,
indices: Vec<Index>,
) -> impl Future<Output = Result<Option<LocalizedTransactionTrace>, Error>> + Send { ... }
fn trace_transaction(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<Vec<LocalizedTransactionTrace>>, Error>> + Send { ... }
fn trace_transaction_opcode_gas(
&self,
tx_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionOpcodeGas>, Error>> + Send { ... }
fn trace_block_opcode_gas(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<BlockOpcodeGas>, Error>> + Send { ... }
}
Expand description
Client implementation for the TraceApi
RPC API.
Provided Methods§
Sourcefn trace_call(
&self,
call: TransactionRequest,
trace_types: HashSet<TraceType, RandomState>,
block_id: Option<BlockId>,
state_overrides: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>,
block_overrides: Option<Box<BlockOverrides>>,
) -> impl Future<Output = Result<TraceResults, Error>> + Send
fn trace_call( &self, call: TransactionRequest, trace_types: HashSet<TraceType, RandomState>, block_id: Option<BlockId>, state_overrides: Option<HashMap<Address, AccountOverride, FbBuildHasher<20>>>, block_overrides: Option<Box<BlockOverrides>>, ) -> impl Future<Output = Result<TraceResults, Error>> + Send
Executes the given call and returns a number of possible traces for it.
Sourcefn trace_call_many(
&self,
calls: Vec<(TransactionRequest, HashSet<TraceType, RandomState>)>,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<Vec<TraceResults>, Error>> + Send
fn trace_call_many( &self, calls: Vec<(TransactionRequest, HashSet<TraceType, RandomState>)>, block_id: Option<BlockId>, ) -> impl Future<Output = Result<Vec<TraceResults>, Error>> + Send
Performs multiple call traces on top of the same block. i.e. transaction n will be executed on top of a pending block with all n-1 transactions applied (traced) first. Allows to trace dependent transactions.
Sourcefn trace_raw_transaction(
&self,
data: Bytes,
trace_types: HashSet<TraceType, RandomState>,
block_id: Option<BlockId>,
) -> impl Future<Output = Result<TraceResults, Error>> + Send
fn trace_raw_transaction( &self, data: Bytes, trace_types: HashSet<TraceType, RandomState>, block_id: Option<BlockId>, ) -> impl Future<Output = Result<TraceResults, Error>> + Send
Traces a call to eth_sendRawTransaction
without making the call, returning the traces.
Expects a raw transaction data
Sourcefn replay_block_transactions(
&self,
block_id: BlockId,
trace_types: HashSet<TraceType, RandomState>,
) -> impl Future<Output = Result<Option<Vec<TraceResultsWithTransactionHash>>, Error>> + Send
fn replay_block_transactions( &self, block_id: BlockId, trace_types: HashSet<TraceType, RandomState>, ) -> impl Future<Output = Result<Option<Vec<TraceResultsWithTransactionHash>>, Error>> + Send
Replays all transactions in a block returning the requested traces for each transaction.
Sourcefn replay_transaction(
&self,
transaction: FixedBytes<32>,
trace_types: HashSet<TraceType, RandomState>,
) -> impl Future<Output = Result<TraceResults, Error>> + Send
fn replay_transaction( &self, transaction: FixedBytes<32>, trace_types: HashSet<TraceType, RandomState>, ) -> impl Future<Output = Result<TraceResults, Error>> + Send
Replays a transaction, returning the traces.
Sourcefn trace_block(
&self,
block_id: BlockId,
) -> impl Future<Output = Result<Option<Vec<LocalizedTransactionTrace>>, Error>> + Send
fn trace_block( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<Vec<LocalizedTransactionTrace>>, Error>> + Send
Returns traces created at given block.
Sourcefn trace_filter(
&self,
filter: TraceFilter,
) -> impl Future<Output = Result<Vec<LocalizedTransactionTrace>, Error>> + Send
fn trace_filter( &self, filter: TraceFilter, ) -> impl Future<Output = Result<Vec<LocalizedTransactionTrace>, Error>> + Send
Returns traces matching given filter.
This is similar to eth_getLogs
but for traces.
Sourcefn trace_get(
&self,
hash: FixedBytes<32>,
indices: Vec<Index>,
) -> impl Future<Output = Result<Option<LocalizedTransactionTrace>, Error>> + Send
fn trace_get( &self, hash: FixedBytes<32>, indices: Vec<Index>, ) -> impl Future<Output = Result<Option<LocalizedTransactionTrace>, Error>> + Send
Returns transaction trace at given index.
indices
represent the index positions of the traces.
Note: This expects a list of indices but only one is supported since this function returns a single [LocalizedTransactionTrace].
Sourcefn trace_transaction(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<Vec<LocalizedTransactionTrace>>, Error>> + Send
fn trace_transaction( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<Vec<LocalizedTransactionTrace>>, Error>> + Send
Returns all traces of given transaction.
Sourcefn trace_transaction_opcode_gas(
&self,
tx_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionOpcodeGas>, Error>> + Send
fn trace_transaction_opcode_gas( &self, tx_hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionOpcodeGas>, Error>> + Send
Returns all opcodes with their count and combined gas usage for the given transaction in no particular order.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.