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.