Class ContractActionData
A single entry in the call graph of a historical contract transaction — one per nested EVM call (CALL, CREATE, DELEGATECALL, precompile invocation, etc.). Retrieved via GetContractActionsByTransactionHashAsync(MirrorRestClient, EvmHash, params IMirrorQueryParameter[]) and GetContractActionsByTransactionIdAsync(MirrorRestClient, TransactionId, params IMirrorQueryParameter[]).
Inherited Members
Namespace: Hiero.Mirror
Assembly: Hiero.dll
Syntax
public class ContractActionData
Properties
| Edit this page View SourceCallDepth
The nesting depth at which this call executed. Zero for the top-level call; each nested call increments by one.
Declaration
[JsonPropertyName("call_depth")]
public int CallDepth { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
CallOperationType
The EVM operation used to initiate this call: one of
CALL, CALLCODE, CREATE, CREATE2,
DELEGATECALL, STATICCALL, or UNKNOWN.
Kept as a raw string to match existing AOT-friendly precedent
on returned-enum fields.
Declaration
[JsonPropertyName("call_operation_type")]
public string CallOperationType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CallType
The semantic category of the call: one of NO_ACTION,
CALL, CREATE, PRECOMPILE, or
SYSTEM. Kept as a raw string for AOT-friendliness.
Declaration
[JsonPropertyName("call_type")]
public string CallType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Caller
The HAPI account/contract id that initiated this call.
Declaration
[JsonPropertyName("caller")]
public EntityId Caller { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |
CallerType
The entity type of the caller: ACCOUNT or CONTRACT.
Declaration
[JsonPropertyName("caller_type")]
public string CallerType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
From
The EVM address of the caller. Always populated by the server.
Declaration
[JsonPropertyName("from")]
[JsonConverter(typeof(EvmAddressConverter))]
public EvmAddress From { get; set; }
Property Value
| Type | Description |
|---|---|
| EvmAddress |
Gas
Gas made available to this call (in gas units).
Declaration
[JsonPropertyName("gas")]
public long Gas { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
GasUsed
Gas actually consumed by this call (in gas units).
Declaration
[JsonPropertyName("gas_used")]
public long GasUsed { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
Index
The position of this action within the ordered list of actions for the parent transaction. Used with ContractActionIndexFilter to page or seek.
Declaration
[JsonPropertyName("index")]
public int Index { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Input
The call's input data (EVM calldata or contract-creation bytecode). Null when the server did not record input data.
Declaration
[JsonPropertyName("input")]
[JsonConverter(typeof(HexStringToBytesConverter))]
public ReadOnlyMemory<byte> Input { get; set; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyMemory<byte> |
Recipient
The HAPI account/contract id of the recipient, when known.
Declaration
[JsonPropertyName("recipient")]
public EntityId Recipient { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |
RecipientType
The entity type of the recipient: ACCOUNT or
CONTRACT. Null when the recipient type was not
determined (e.g., some failed CREATE actions).
Declaration
[JsonPropertyName("recipient_type")]
public string? RecipientType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ResultData
Data returned from this call, when any. Null when no result data was recorded.
Declaration
[JsonPropertyName("result_data")]
[JsonConverter(typeof(HexStringToBytesConverter))]
public ReadOnlyMemory<byte> ResultData { get; set; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyMemory<byte> |
ResultDataType
The semantic kind of ResultData: one of
OUTPUT (normal return), REVERT_REASON, or
ERROR.
Declaration
[JsonPropertyName("result_data_type")]
public string ResultDataType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Timestamp
The consensus timestamp at which the parent transaction executed (shared across all actions in the same trace).
Declaration
[JsonPropertyName("timestamp")]
public ConsensusTimeStamp Timestamp { get; set; }
Property Value
| Type | Description |
|---|---|
| ConsensusTimeStamp |
To
The EVM address of the recipient. Null when the server
sent an explicit null — distinct from the literal zero
address 0x0000…0000, which carries meaning for
contract-create actions and other edge cases.
Declaration
[JsonPropertyName("to")]
[JsonConverter(typeof(NullableEvmAddressConverter))]
public EvmAddress? To { get; set; }
Property Value
| Type | Description |
|---|---|
| EvmAddress |
Value
The HBAR value transferred with this call, in tinybars.
Declaration
[JsonPropertyName("value")]
public long Value { get; set; }
Property Value
| Type | Description |
|---|---|
| long |