Arbitrum Smart Contract Calls API
In this section we will see how to get Arbitrum Smart contract calls information using our API.
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.