Trait reth_rpc_api_testing_util::trace::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 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 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.

Object Safety§

This trait is not object safe.

Implementors§