debug_traceCallMany - Robinhood
debug_traceCallMany. Executes and traces multiple call objects against a given block state.
debug_traceCallMany - robinhood [Value: 20CU]
Runs and traces multiple call bundles in sequence against the state of a given block, without broadcasting anything
Use cases
- Debug a bundle of transactions intended for private submission
- Preview how several draft transactions would interact against current state
Constraints
- Bundles are executed in order, each seeing the state left by the previous one
- Large bundles or many bundles at once can be slow to trace
Unlock Access to 100+ chains
Boost your app's speed and reliability with dRPC - get your access API key
Language
Request
Examples
curl https://lb.drpc.live/robinhood/{API-KEY} \
-X POST \
-H "Content-Type: application/json" \
-d '{"method":"debug_traceCallMany",
"params":[[{"transactions": [{"from": "0xcdd37ada79f589c15bd4f8fd2083dc88e34a2af2", "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", "gas": "0xb59b", "value": "0x0", "data": "0xa9059cbb000000000000000000000000b29d1cef6da3262df35fdee71a176c62687e747d000000000000000000000000000000000000000000000000000000001e3f0ccc"}]}, {"transactions": [{"from": "0xe088776deabb472ffd2843e330e79c880a5f979e", "to": "0x70526cc7a6d6320b44122ea9d2d07670accc85a1", "value": "0x0", "data": "0x"}]}], {"blockNumber": "0x154bd82", "transactionIndex": -1}, {"tracer": "callTracer"}],
"id":1,
"jsonrpc":"2.0"}'
Response
200
{
"jsonrpc": "2.0",
"id": 1,
"result": [
[
{
"type": "CALL",
"from": "0xcdd37ada79f589c15bd4f8fd2083dc88e34a2af2",
"to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"value": "0x0",
"gas": "0xb59b",
"gasUsed": "0x5d5a",
"input": "0xa9059cbb000000000000000000000000b29d1cef6da3262df35fdee71a176c62687e747d000000000000000000000000000000000000000000000000000000001e3f0ccc",
"output": "0x"
}
],
[
{
"type": "CALL",
"from": "0xe088776deabb472ffd2843e330e79c880a5f979e",
"to": "0x70526cc7a6d6320b44122ea9d2d07670accc85a1",
"value": "0x0",
"gas": "0x7fffffffffffadf7",
"gasUsed": "0x0",
"input": "0x",
"output": "0x"
}
]
]
}Request params
idinteger
jsonrpcstring
methodstring
array
bundlesarray_of_objects
An array of call bundles, each executed in order against the state left by the previous bundle.
array
transactionsarray_of_objects
The transaction call objects to execute in this bundle.
blockOverrideobject
(optional) Block header fields to override for this bundle.
simulationContextobject
The block and position to simulate against.
array
blockNumberstring
The block to use as the base state, in hex.
transactionIndexinteger
The transaction position within that block to start from. Use -1 for the end of the block.
optionsobject
(optional) Tracer and state override options.
array
tracerstring
The tracer to use, such as callTracer or prestateTracer.
tracerConfigobject
Configuration options for the selected tracer.
stateOverridesobject
Per-address balance, nonce, code, or storage overrides.
Response
200
A nested array of call traces: the outer array is one entry per bundle, the inner array one entry per transaction in that bundleResponse params
object
idinteger
jsonrpcstring
resultarray_of_objects
The outer array has one entry per bundle; each inner array has one call trace per transaction in that bundle.