pub trait DebugApi<N, T>: Send + Sync {
// Required methods
fn debug_get_raw_header<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_get_raw_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_get_raw_transaction<'life0, 'async_trait>(
&'life0 self,
hash: TxHash,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_get_raw_receipts<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Bytes>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_get_bad_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Block>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_chain<'life0, 'async_trait>(
&'life0 self,
start_exclusive: BlockNumberOrTag,
end_inclusive: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<BlockTraceResult>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_block<'life0, 'life1, 'async_trait>(
&'life0 self,
rlp_block: &'life1 [u8],
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: TxHash,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<GethTrace>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
block: B256,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_block_by_number<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_call<'life0, 'async_trait>(
&'life0 self,
tx: TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<GethTrace>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn debug_trace_call_many<'life0, 'async_trait>(
&'life0 self,
bundles: Vec<Bundle>,
state_context: StateContext,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<GethTrace>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
debug-api
only.Expand description
Debug namespace rpc interface that gives access to several non-standard RPC methods.
Required Methods§
sourcefn debug_get_raw_header<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_get_raw_header<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns an RLP-encoded header.
sourcefn debug_get_raw_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_get_raw_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieves and returns the RLP encoded block by number, hash or tag.
sourcefn debug_get_raw_transaction<'life0, 'async_trait>(
&'life0 self,
hash: TxHash,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_get_raw_transaction<'life0, 'async_trait>(
&'life0 self,
hash: TxHash,
) -> Pin<Box<dyn Future<Output = TransportResult<Bytes>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns an EIP-2718 binary-encoded transaction.
sourcefn debug_get_raw_receipts<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Bytes>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_get_raw_receipts<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Bytes>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns an array of EIP-2718 binary-encoded receipts.
sourcefn debug_get_bad_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Block>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_get_bad_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Block>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns an array of recent bad blocks that the client has seen on the network.
sourcefn debug_trace_chain<'life0, 'async_trait>(
&'life0 self,
start_exclusive: BlockNumberOrTag,
end_inclusive: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<BlockTraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_chain<'life0, 'async_trait>(
&'life0 self,
start_exclusive: BlockNumberOrTag,
end_inclusive: BlockNumberOrTag,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<BlockTraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the structured logs created during the execution of EVM between two blocks (excluding start) as a JSON object.
sourcefn debug_trace_block<'life0, 'life1, 'async_trait>(
&'life0 self,
rlp_block: &'life1 [u8],
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn debug_trace_block<'life0, 'life1, 'async_trait>(
&'life0 self,
rlp_block: &'life1 [u8],
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
The debug_traceBlock method will return a full stack trace of all invoked opcodes of all transaction that were included in this block.
This expects an RLP-encoded block.
§Note
The parent of this block must be present, or it will fail.
sourcefn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: TxHash,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<GethTrace>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_transaction<'life0, 'async_trait>(
&'life0 self,
hash: TxHash,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<GethTrace>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reruns the transaction specified by the hash and returns the trace.
It will replay any prior transactions to achieve the same state the transaction was executed in.
GethDebugTracingOptions can be used to specify the trace options.
§Note
Not all nodes support this call.
sourcefn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
block: B256,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_block_by_hash<'life0, 'async_trait>(
&'life0 self,
block: B256,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Return a full stack trace of all invoked opcodes of all transaction that were included in this block.
The parent of the block must be present or it will fail.
GethDebugTracingOptions can be used to specify the trace options.
§Note
Not all nodes support this call.
sourcefn debug_trace_block_by_number<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_block_by_number<'life0, 'async_trait>(
&'life0 self,
block: BlockNumberOrTag,
trace_options: GethDebugTracingOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<TraceResult>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Same as debug_trace_block_by_hash
but block is specified by number.
GethDebugTracingOptions can be used to specify the trace options.
§Note
Not all nodes support this call.
sourcefn debug_trace_call<'life0, 'async_trait>(
&'life0 self,
tx: TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<GethTrace>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_call<'life0, 'async_trait>(
&'life0 self,
tx: TransactionRequest,
block: BlockId,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<GethTrace>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Executes the given transaction without publishing it like eth_call
and returns the trace
of the execution.
The transaction will be executed in the context of the given block number or tag. The state its run on is the state of the previous block.
GethDebugTracingOptions can be used to specify the trace options.
§Note
Not all nodes support this call.
sourcefn debug_trace_call_many<'life0, 'async_trait>(
&'life0 self,
bundles: Vec<Bundle>,
state_context: StateContext,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<GethTrace>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn debug_trace_call_many<'life0, 'async_trait>(
&'life0 self,
bundles: Vec<Bundle>,
state_context: StateContext,
trace_options: GethDebugTracingCallOptions,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<GethTrace>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Same as debug_trace_call
but it used to run and trace multiple transactions at once.
GethDebugTracingOptions can be used to specify the trace options.
§Note
Not all nodes support this call.