reth_rpc_api_testing_util::trace

Trait TraceApiExt

Source
pub trait TraceApiExt {
    type Provider;

    // Required methods
    fn trace_block_buffered<I, B>(
        &self,
        params: I,
        n: usize,
    ) -> TraceBlockStream<'_>
       where I: IntoIterator<Item = B>,
             B: Into<BlockId>;
    fn trace_block_buffered_unordered<I, B>(
        &self,
        params: I,
        n: usize,
    ) -> TraceBlockStream<'_>
       where I: IntoIterator<Item = B>,
             B: Into<BlockId>;
    fn trace_block_opcode_gas_unordered<I, B>(
        &self,
        params: I,
        n: usize,
    ) -> TraceBlockOpcodeGasStream<'_>
       where I: IntoIterator<Item = B>,
             B: Into<BlockId>;
    fn replay_transactions<I>(
        &self,
        tx_hashes: I,
        trace_types: HashSet<TraceType>,
    ) -> ReplayTransactionStream<'_>
       where I: IntoIterator<Item = TxHash>;
    fn trace_raw_transaction_stream(
        &self,
        data: Bytes,
        trace_types: HashSet<TraceType>,
        block_id: Option<BlockId>,
    ) -> RawTransactionTraceStream<'_>;
    fn trace_call_many_stream<I>(
        &self,
        calls: I,
        block_id: Option<BlockId>,
    ) -> CallManyTraceStream<'_>
       where I: IntoIterator<Item = (TransactionRequest, HashSet<TraceType>)>;
    fn trace_get_stream<I>(&self, hash: B256, indices: I) -> TraceGetStream<'_>
       where I: IntoIterator<Item = Index>;
    fn trace_filter_stream<I>(&self, filters: I) -> TraceFilterStream<'_>
       where I: IntoIterator<Item = TraceFilter>;
    fn trace_call_stream(
        &self,
        request: TraceCallRequest,
    ) -> TraceCallStream<'_>;
}
Expand description

An extension trait for the Trace API.

Required Associated Types§

Source

type Provider

The provider type that is used to make the requests.

Required Methods§

Source

fn trace_block_buffered<I, B>( &self, params: I, n: usize, ) -> TraceBlockStream<'_>
where I: IntoIterator<Item = B>, B: Into<BlockId>,

Returns a new stream that yields the traces for the given blocks.

See also [StreamExt::buffered].

Source

fn trace_block_buffered_unordered<I, B>( &self, params: I, n: usize, ) -> TraceBlockStream<'_>
where I: IntoIterator<Item = B>, B: Into<BlockId>,

Returns a new stream that yields the traces for the given blocks.

See also [StreamExt::buffer_unordered].

Source

fn trace_block_opcode_gas_unordered<I, B>( &self, params: I, n: usize, ) -> TraceBlockOpcodeGasStream<'_>
where I: IntoIterator<Item = B>, B: Into<BlockId>,

Returns a new stream that yields the traces the opcodes for the given blocks.

See also [StreamExt::buffered].

Source

fn replay_transactions<I>( &self, tx_hashes: I, trace_types: HashSet<TraceType>, ) -> ReplayTransactionStream<'_>
where I: IntoIterator<Item = TxHash>,

Returns a new stream that replays the transactions for the given transaction hashes.

This returns all results in order.

Source

fn trace_raw_transaction_stream( &self, data: Bytes, trace_types: HashSet<TraceType>, block_id: Option<BlockId>, ) -> RawTransactionTraceStream<'_>

Returns a new stream that traces the provided raw transaction data.

Source

fn trace_call_many_stream<I>( &self, calls: I, block_id: Option<BlockId>, ) -> CallManyTraceStream<'_>
where I: IntoIterator<Item = (TransactionRequest, HashSet<TraceType>)>,

Creates a stream of results for multiple dependent transaction calls on top of the same block.

Source

fn trace_get_stream<I>(&self, hash: B256, indices: I) -> TraceGetStream<'_>
where I: IntoIterator<Item = Index>,

Returns a new stream that yields the traces for the given transaction hash and indices.

Source

fn trace_filter_stream<I>(&self, filters: I) -> TraceFilterStream<'_>
where I: IntoIterator<Item = TraceFilter>,

Returns a new stream that yields traces for given filters.

Source

fn trace_call_stream(&self, request: TraceCallRequest) -> TraceCallStream<'_>

Returns a new stream that yields the trace results for the given call requests.

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.

Implementors§