Skip to main content

Arbitrum Smart Contract Calls

In this section we will see how to get Arbitrum Smart contract calls information using our API.

This Arbitrum API is part of our Early Access Program (EAP), which is intended for evaluation purposes.

This program allows you to test the data and its integration into your applications before full-scale implementation. Read more here

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.