Skip to main content

Arbitrum Smart Contract Calls

Transaction Call Trace for a Arbitrum Transaction

This query gets the transaction call trace for an Arbitrum transaction. The Calls API in the query returns a list of all calls made by the transaction. You can find the query here

query myquery($network: evm_network!, $hash: String!) {
EVM(dataset: combined, network: $network) {
Calls(
limit: {count: 10}
orderBy: {descending: Block_Time}
where: {Transaction: {Hash: {is: $hash}}}
) {
Call {
From
Gas
GasUsed
To
Value
CallPath
Opcode {
Code
Name
}
SelfDestruct
Create
Delegated
Depth
InternalCalls
Success
Reverted
Output
LogCount
Input
}
Transaction {
Hash
}
Arguments {
Index
Path {
Name
}
Type
Name
Value {
... on EVM_ABI_Integer_Value_Arg {
integer
}
... on EVM_ABI_String_Value_Arg {
string
}
... on EVM_ABI_Address_Value_Arg {
address
}
... on EVM_ABI_BigInt_Value_Arg {
bigInteger
}
... on EVM_ABI_Bytes_Value_Arg {
hex
}
... on EVM_ABI_Boolean_Value_Arg {
bool
}
}
}
}
}
}
{
"hash": "0x0ca5e462cace62c893cefb57c4491eabf9aebe873a86f9cb16377a127b17589b",
"network": "arbitrum"
}

Each call contains the following information:

  • CallPath: The call path, which is a list of the contract addresses that were called.
  • Create: Whether the call created a new contract.
  • Delegated: Whether the call was a delegated call.
  • Depth: The depth of the call, which is the number of nested calls.
  • From: The address that made the call.
  • Gas: The gas limit for the call.
  • GasUsed: The gas used by the call.
  • Input: The input data for the call.
  • InternalCalls: The number of internal calls made by the call.
  • LogCount: The number of logs generated by the call.
  • Opcode: The opcode of the call.
  • Output: The output data for the call.
  • Reverted: Whether the call reverted.
  • SelfDestruct: Whether the call self-destructed the contract.
  • Success: Whether the call was successful.
  • To: The address that was called.
  • Value: The value transferred to the called contract.