Skip to main content

Debug methods

The debug API methods allow you to inspect and debug the network. Infura supports the following debug methods on the Scroll network:

Debug tracing types

The debug methods support the callTracer and prestateTracer tracing types, which return different results when specified in the supported debug methods.

callTracer

The callTracer tracing type tracks all the call frames executed during a transaction, including the initial call. It returns a nested list of call frames, resembling how the EVM works. They form a tree with the top-level call at root and sub-calls as children of the higher levels.

The callTracer type returns an object with the following results:

FieldTypeDescription
typestringThe type of call.
fromstringThe address the transaction is sent from.
tostringThe address the transaction is directed to.
valuestringThe amount transferred in the call (hex-encoded).
gasstringThe amount of gas provided for the call (hex-encoded).
gasUsedstringThe amount of gas used by the call (hex-encoded).
inputstringThe call data.
outputstringThe return data.
errorstringIf an error occurred during the call, this field will contain the error message.
revertReasonstringIf the contract execution was reverted, this field will contain the reason for the revert (if provided by Solidity).
callsarraySub-calls made by the contract during the execution of the transaction.

prestateTracer

The prestateTracer tracing type records and tracks every change made to the state during the execution of transactions. It generates an object that contains keys representing the addresses of the accounts involved in the transactions. The corresponding values are objects that include specific fields related to the state changes made during the transaction:

FieldTypeDescription
balancestringThe account balance.
nonceuint64The nonce value for the transaction.
codestringThe hex-encoded bytecode.
storagemapThe storage slots of the contract.