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 and Storage fields are populated only when their projection filters (OpcodeMemoryProjectionFilter, OpcodeStorageProjectionFilter) were set to include them on the request; otherwise they arrive null. The Stack field is included by default and arrives null only when OpcodeStackProjectionFilter excludes it.

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. Empty 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