Show / Hide Table of Contents

Class OpcodeData

A single opcode-execution entry in an OpcodesData trace.

Inheritance
object
OpcodeData
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Hiero.Mirror
Assembly: Hiero.dll
Syntax
public class OpcodeData
Remarks

The Memory, Stack, and Storage fields are populated only when their respective projection filters (OpcodeMemoryProjectionFilter, OpcodeStackProjectionFilter, OpcodeStorageProjectionFilter) were set to include them on the request. Otherwise they arrive null.

Properties

| Edit this page View Source

Depth

The call-stack depth at which this opcode executed.

Declaration
[JsonPropertyName("depth")]
public int Depth { get; set; }
Property Value
Type Description
int
| Edit this page View Source

Gas

Remaining gas available when this opcode began executing.

Declaration
[JsonPropertyName("gas")]
public long Gas { get; set; }
Property Value
Type Description
long
| Edit this page View Source

GasCost

Gas cost charged for executing this specific opcode.

Declaration
[JsonPropertyName("gas_cost")]
public long GasCost { get; set; }
Property Value
Type Description
long
| Edit this page View Source

Memory

The EVM memory, one 32-byte word per array element. Null when memory was not requested on the tracing call.

Declaration
[JsonPropertyName("memory")]
[JsonConverter(typeof(HexStringArraytoBytesArrayConverter))]
public ReadOnlyMemory<byte>[]? Memory { get; set; }
Property Value
Type Description
ReadOnlyMemory<byte>[]
| Edit this page View Source

Op

The mnemonic name of the opcode (e.g. PUSH1, SLOAD).

Declaration
[JsonPropertyName("op")]
public string Op { get; set; }
Property Value
Type Description
string
| Edit this page View Source

Pc

Program counter at which this opcode executed.

Declaration
[JsonPropertyName("pc")]
public int Pc { get; set; }
Property Value
Type Description
int
| Edit this page View Source

Reason

Revert reason bytes, when the opcode is a revert. Null otherwise.

Declaration
[JsonPropertyName("reason")]
[JsonConverter(typeof(HexStringToBytesConverter))]
public ReadOnlyMemory<byte> Reason { get; set; }
Property Value
Type Description
ReadOnlyMemory<byte>
| Edit this page View Source

Stack

The EVM stack, one 32-byte word per array element. Null when stack information was explicitly excluded on the tracing call.

Declaration
[JsonPropertyName("stack")]
[JsonConverter(typeof(HexStringArraytoBytesArrayConverter))]
public ReadOnlyMemory<byte>[]? Stack { get; set; }
Property Value
Type Description
ReadOnlyMemory<byte>[]
| Edit this page View Source

Storage

Storage slots read or written by this opcode, keyed by slot hash (preserved as its on-the-wire hex-string form, since EVM storage keys are conventionally displayed as hex). Null when storage was not requested on the tracing call.

Declaration
[JsonPropertyName("storage")]
[JsonConverter(typeof(HexStringDictionaryToBytesConverter))]
public Dictionary<string, ReadOnlyMemory<byte>>? Storage { get; set; }
Property Value
Type Description
Dictionary<string, ReadOnlyMemory<byte>>
  • Edit this page
  • View Source
In this article
Back to top .NET Client Library for Hiero Network and Hedera Hashgraph