Class OpcodeData
A single opcode-execution entry in an OpcodesData trace.
Inherited Members
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 SourceDepth
The call-stack depth at which this opcode executed.
Declaration
[JsonPropertyName("depth")]
public int Depth { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Gas
Remaining gas available when this opcode began executing.
Declaration
[JsonPropertyName("gas")]
public long Gas { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
GasCost
Gas cost charged for executing this specific opcode.
Declaration
[JsonPropertyName("gas_cost")]
public long GasCost { get; set; }
Property Value
| Type | Description |
|---|---|
| long |
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>[] |
Op
The mnemonic name of the opcode (e.g. PUSH1, SLOAD).
Declaration
[JsonPropertyName("op")]
public string Op { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Pc
Program counter at which this opcode executed.
Declaration
[JsonPropertyName("pc")]
public int Pc { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
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> |
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>[] |
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>> |