Class ContractResultData
Represents the results from an EVM contract call.
Inherited Members
Namespace: Hiero.Mirror
Assembly: Hiero.dll
Syntax
public class ContractResultData
Properties
| Edit this page View SourceAccessList
The EIP-2930 access list of the wrapped ethereum transaction: the contracts and storage slots it declared up front. Empty for transactions that declared none, and null from mirror nodes that predate the structured form (see AccessListConverter).
Declaration
[JsonPropertyName("access_list")]
[JsonConverter(typeof(AccessListConverter))]
public AccessListEntryData[]? AccessList { get; set; }
Property Value
| Type | Description |
|---|---|
| AccessListEntryData[] |
AuthorizationList
The EIP-7702 authorization list of a wrapped set-code (type 4) ethereum transaction: the delegations it asked the network to install. Null for other transaction types.
Declaration
[JsonPropertyName("authorization_list")]
public EvmAuthorizationData[]? AuthorizationList { get; set; }
Property Value
| Type | Description |
|---|---|
| EvmAuthorizationData[] |
BlockGasUsed
The total amount of gas used by all transactions in the block that contains this result.
Declaration
[JsonPropertyName("block_gas_used")]
[JsonConverter(typeof(UnsignedLongMirrorConverter))]
public ulong BlockGasUsed { get; set; }
Property Value
| Type | Description |
|---|---|
| ulong |
BlockHash
The 48-byte SHA-384 record-file hash of the block the transaction is included in.
Declaration
[JsonPropertyName("block_hash")]
[JsonConverter(typeof(HexStringToBytesConverter))]
public ReadOnlyMemory<byte> BlockHash { get; set; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyMemory<byte> |
Remarks
Hedera block hashes are SHA-384 outputs (48 bytes / 96 hex chars on the wire), not 32-byte EVM-style hashes — see the remarks on EvmHash.
BlockNumber
The number of the block the transaction was in.
Declaration
[JsonPropertyName("block_number")]
[JsonConverter(typeof(LongMirrorConverter))]
public long BlockNumber { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
Bloom
Bloom filter for record
Declaration
[JsonPropertyName("bloom")]
[JsonConverter(typeof(HexStringToBytesConverter))]
public ReadOnlyMemory<byte> Bloom { get; set; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyMemory<byte> |
ChainId
Chain ID
Declaration
[JsonPropertyName("chain_id")]
[JsonConverter(typeof(BigIntegerConverter))]
public BigInteger ChainId { get; set; }
Property Value
| Type | Description |
|---|---|
| BigInteger |
Consensus
The transaction’s consensus timestamp.
Declaration
[JsonPropertyName("timestamp")]
public ConsensusTimeStamp Consensus { get; set; }
Property Value
| Type | Description |
|---|---|
| ConsensusTimeStamp |
Contract
ID of the contract that was called.
Declaration
[JsonPropertyName("contract_id")]
public EntityId Contract { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |
ContractAddress
The EVM address of the contract that was called
Declaration
[JsonPropertyName("address")]
public EvmAddress ContractAddress { get; set; }
Property Value
| Type | Description |
|---|---|
| EvmAddress |
CreatedContracts
IDs of any contracts that were created as a side effect of this contract call.
Declaration
[JsonPropertyName("created_contract_ids")]
[JsonConverter(typeof(EntityIdArrayConverter))]
public EntityId[] CreatedContracts { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId[] |
ErrorMessage
Error Message if one exists, can be a revert encoded hex value or actually just a string depending on how the error was raised from the contract.
Declaration
[JsonPropertyName("error_message")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? ErrorMessage { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
FailedInitcode
The initcode of a contract create that failed; empty otherwise.
Declaration
[JsonPropertyName("failed_initcode")]
[JsonConverter(typeof(HexStringToBytesConverter))]
public ReadOnlyMemory<byte> FailedInitcode { get; set; }
Property Value
| Type | Description |
|---|---|
| ReadOnlyMemory<byte> |
GasConsumed
The units of consumed gas by the EVM to execute contract, which may be less than the amount of gas used.
Declaration
[JsonPropertyName("gas_consumed")]
[JsonConverter(typeof(UnsignedLongMirrorConverter))]
public ulong GasConsumed { get; set; }
Property Value
| Type | Description |
|---|---|
| ulong |
GasLimit
The maximum units of gas allowed for contract execution.
Declaration
[JsonPropertyName("gas_limit")]
[JsonConverter(typeof(LongMirrorConverter))]
public long GasLimit { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
GasPrice
The gas price of the wrapped ethereum transaction, in tinybars.
Declaration
[JsonPropertyName("gas_price")]
[JsonConverter(typeof(BigIntegerConverter))]
public BigInteger GasPrice { get; set; }
Property Value
| Type | Description |
|---|---|
| BigInteger |
GasUsed
The units of gas charged by the network to execute contract, may be more than the minimum amount consumed by the EVM itself.
Declaration
[JsonPropertyName("gas_used")]
[JsonConverter(typeof(UnsignedLongMirrorConverter))]
public ulong GasUsed { get; set; }
Property Value
| Type | Description |
|---|---|
| ulong |
Hash
The EVM transaction hash for this result (not the raw HAPI transaction hash).
Declaration
[JsonPropertyName("hash")]
public EvmHash Hash { get; set; }
Property Value
| Type | Description |
|---|---|
| EvmHash |
Input
The input function parameters for the call
Declaration
[JsonPropertyName("function_parameters")]
public EncodedParams Input { get; set; }
Property Value
| Type | Description |
|---|---|
| EncodedParams |
Logs
List of logs.
Declaration
[JsonPropertyName("logs")]
public ContractLogData[]? Logs { get; set; }
Property Value
| Type | Description |
|---|---|
| ContractLogData[] |
MaxFeePerGas
The maximum total fee per gas the sender of a wrapped EIP-1559 (type 2) or later ethereum transaction offered; zero for other transaction types.
Declaration
[JsonPropertyName("max_fee_per_gas")]
[JsonConverter(typeof(BigIntegerConverter))]
public BigInteger MaxFeePerGas { get; set; }
Property Value
| Type | Description |
|---|---|
| BigInteger |
MaxPriorityFeePerGas
The maximum priority fee (tip) per gas the sender of a wrapped EIP-1559 (type 2) or later ethereum transaction offered; zero for other transaction types.
Declaration
[JsonPropertyName("max_priority_fee_per_gas")]
[JsonConverter(typeof(BigIntegerConverter))]
public BigInteger MaxPriorityFeePerGas { get; set; }
Property Value
| Type | Description |
|---|---|
| BigInteger |
MessageReceiver
The Contract TransactionId's TO parameter (should be same as Contract)
Declaration
[JsonPropertyName("to")]
public EntityId MessageReceiver { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |
MessageSender
The Address or contract that is msg.sender for this contract call.
Declaration
[JsonPropertyName("from")]
public EntityId MessageSender { get; set; }
Property Value
| Type | Description |
|---|---|
| EntityId |
Nonce
The nonce of the wrapped ethereum transaction
Declaration
[JsonPropertyName("nonce")]
[JsonConverter(typeof(UnsignedLongMirrorConverter))]
public ulong Nonce { get; set; }
Property Value
| Type | Description |
|---|---|
| ulong |
PayableAmount
Number of tinybars sent into this contract transaction call (the function must be payable if this is nonzero).
Declaration
[JsonPropertyName("amount")]
[JsonConverter(typeof(LongMirrorConverter))]
public long PayableAmount { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
Result
The values returned from the contract call.
Declaration
[JsonPropertyName("call_result")]
public EncodedParams Result { get; set; }
Property Value
| Type | Description |
|---|---|
| EncodedParams |
SignatureR
The signature_r of the wrapped ethereum transaction
Declaration
[JsonPropertyName("r")]
[JsonConverter(typeof(BigIntegerConverter))]
public BigInteger SignatureR { get; set; }
Property Value
| Type | Description |
|---|---|
| BigInteger |
SignatureS
The signature_s of the wrapped ethereum transaction
Declaration
[JsonPropertyName("s")]
[JsonConverter(typeof(BigIntegerConverter))]
public BigInteger SignatureS { get; set; }
Property Value
| Type | Description |
|---|---|
| BigInteger |
SignatureV
The recovery_id of the wrapped ethereum transaction.
Declaration
[JsonPropertyName("v")]
[JsonConverter(typeof(LongMirrorConverter))]
public long SignatureV { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
StateChanges
The contract storage slots the call read or wrote. Reported only when the result is retrieved individually (by transaction id, hash or timestamp), not in result listings.
Declaration
[JsonPropertyName("state_changes")]
public ContractStateChangeData[]? StateChanges { get; set; }
Property Value
| Type | Description |
|---|---|
| ContractStateChangeData[] |
Status
The HAPI status of the transaction that produced this result.
Declaration
[JsonPropertyName("result")]
public ResponseCode Status { get; set; }
Property Value
| Type | Description |
|---|---|
| ResponseCode |
Remarks
A status the network reports but this build of the SDK does not know reads as Unrecognized rather than failing the surrounding query.
TransactionIndex
The position of the transaction in the block.
Declaration
[JsonPropertyName("transaction_index")]
[JsonConverter(typeof(UnsignedLongMirrorConverter))]
public ulong TransactionIndex { get; set; }
Property Value
| Type | Description |
|---|---|
| ulong |
TransactionStatus
either 1 (success) or 0 (failure)
Declaration
[JsonPropertyName("status")]
[JsonConverter(typeof(BigIntegerConverter))]
public BigInteger TransactionStatus { get; set; }
Property Value
| Type | Description |
|---|---|
| BigInteger |
TransactionType
integer of the transaction type, 0x0 for legacy transactions, 0x1 for access list types, 0x2 for dynamic fees, 0x4 for EIP-7702 set-code transactions.
Declaration
[JsonPropertyName("type")]
[JsonConverter(typeof(IntMirrorConverter))]
public int TransactionType { get; set; }
Property Value
| Type | Description |
|---|---|
| int |