debug_traceCall
Runs an eth_call within the context of the given block execution using the final state of parent block as the base.
In addition to the hash of the transaction you may give it a secondary optional argument, which specifies the options for this specific call. The possible options are:
- object - The transaction call object with the following fields:
from:
OPTIONAL (string) - The address the transaction is sent fromto:
OPTIONAL (string) - The address the transaction is directed togas:
OPTIONAL (integer) - The integer of the gas provided for the transaction executiongasPrice:
OPTIONAL (integer) - The integer of the gasPrice used for each paid gasvalue:
OPTIONAL (integer) - The integer of the value sent with this transactiondata:
OPTIONAL (string) -The hash of the method signature and encoded parameters
blockReference:
(string) - The block number in hexadecimal format, the block hash, or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure blockobject
- OPTIONAL The tracer object with the following fields:tracer
: (string) - The type of tracer. It could be callTracer or prestateTracercallTracer
- The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transactionprestateTracer
- The prestateTracer replays the transaction and tracks every part of state that occured during the transaction
tracerConfig
: (object) - The object to specify the configurations of the traceronlyTopCall
: (boolean) - When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame
result
- The transaction trace object, which has the following fields:failed
- The transaction is successful or notgas
- The total consumed gas in the transactionreturnValue
- The return value of the executed contract callstructLogs
- The trace result of each step with the following fields:pc
- The current index in bytecodeop
- The name of current executing operationgas
- The available gas in the executiongasCost
- The gas cost of the operationdepth
- The number of levels of calling functionserror
- The error of the executionstack
- An array of values in the current stackmemory
- An array of values in the current memorystorage
- The mapping of the current storagerefund
- The total of current refund value
Request
curl https://ava-mainnet.blastapi.io/<project-id>/ext/bc/C/rpc \
-X POST \
-H "Content-Type: application/json" \
--data '{"method":"debug_traceCall","params":[{"from":null,"to":"0x6b175474e89094c44da98b954eedeac495271d0f","data":"0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"}, "latest"],"id":1,"jsonrpc":"2.0"}'
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"gas": 21432,
"failed": false,
"returnValue": "",
"structLogs": []
}
}
Last modified 2mo ago