debug_traceCall
Parameters
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
Returns:
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
Example
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": []
}
}