evm.execution_frames

One row per contextual attempt owner and frame_index. A reused physical attempt expands once for each execution step or observation owner; use attempt_id for physical deduplication.

Kind
View
Layer
execution_read_model
Columns
39
Queries
2

Contract and lifecycle

Grain
One contextual attempt fact per (execution_id, attempt_kind, step_index or observation_index, frame_index); attempt_id identifies the reusable physical attempt.
Lifecycle
run publishes this immutable row set atomically with its owning run. Statement failure or caller rollback publishes no durable prefix; direct DML is unsupported because it can corrupt the documented invariants.
Status and NULLs
Interpret nullable payloads only through their owning status fields. Defensive poisoned and engine_error outcomes mean the engine refused to claim a trustworthy normal result; broad view nullability also covers owner alternatives and left-joined evidence.
Join guidance
  • Join evm.executions on execution_id for candidate and run context.
  • Use attempt_id to deduplicate physical facts expanded across contextual owners.
  • For program owners use step_index; for observation-call owners use observation_index and observation_key.
Effect semantics
  • Access flags describe attempted EVM access, not committed state change.
  • Effect facts retain attempted evidence and final committed, reverted, discarded, or poisoned disposition.
  • execution_state_deltas contains committed checkpoint transitions only; observation-call effects are excluded from execution_effect_summary.

Columns

Identity and ownership

Name Type
execution_id UUID

Contextual execution association identity; do not use it as reusable artifact identity.

attempt_kind VARCHAR

Owner kind: program_step or observation_call.

observation_key VARCHAR

Byte-exact caller observation identity for an observation_call owner; otherwise NULL.

attempt_id UUID

Reusable physical attempt identity; contextual owners may share this value.

Contextual keys and reusable identities that establish row ownership.

Chain context

Name Type
chain_id UBIGINT

EVM chain identifier frozen for the owning execution.

chain_profile VARCHAR

Named chain-rules profile frozen for the owning execution.

Pinned chain, block, profile, and revision context.

Ordering and cardinality

Name Type
step_index UINTEGER

Zero-based program order; NULL for observation_call attempt owners.

observation_index UINTEGER

Zero-based expanded point order; identifies observation-call ownership.

frame_index UINTEGER

Frame sequence index

parent_frame_index UINTEGER

Parent frame index

Stable indexes and counts used to reconstruct deterministic order.

Payload and evidence

NameType
depthINTEGER

EVMC message depth

call_kindVARCHAR

EVMC call kind

context_addressADDRESS

Storage and balance context address

code_addressADDRESS

Executed code address

executed_code_kindVARCHAR

Kind of bytes executed by the frame

Showing fewer

Operation-specific inputs, outputs, and authenticated evidence.

Status and disposition

Name Type
success BOOLEAN

Whether the frame returned EVMC_SUCCESS

frame_status VARCHAR

Final disposition after applying all ancestor outcomes

evmc_status_code INTEGER

Raw EVMC status code for this frame

Outcome vocabulary and NULL-controlling disposition fields.

Effects

Name Type
committed_effect_count UBIGINT

Effects propagated from this frame

reverted_effect_count UBIGINT

Effects discarded by revert

discarded_effect_count UBIGINT

Effects discarded by failure

poisoned_effect_count UBIGINT

Effects discarded by poisoned execution

Attempted and final effect facts or aggregates.

Commitments

Name Type
executed_code_hash BYTES32

Keccak hash of the exact executed bytes

Hashes and roots authenticating specifications, facts, state, or results.

Linked joins

Related public objects

Verified queries

Confirm fixture coverage

Confirm that this object has rows owned by the stable seven-candidate public fixture.

SELECT 'evm.execution_frames'::VARCHAR AS object_name, CASE WHEN count(*) > 0 THEN 'PASS' ELSE 'FAIL' END::VARCHAR AS status FROM evm."execution_frames" o JOIN evm.executions e USING (execution_id) WHERE e.candidate_key IN ('complete-effects', 'later-revert', 'ordered-logs', 'create', 'selfdestruct', 'blockhash', 'transient-access');

Example: table.evm.execution_frames.lookup

Check candidate ownership

Diagnose whether this object remains linked to at least one stable fixture candidate through public keys.

SELECT 'evm.execution_frames'::VARCHAR AS object_name, CASE WHEN count(DISTINCT e.candidate_key) > 0 THEN 'PASS' ELSE 'FAIL' END::VARCHAR AS status FROM evm."execution_frames" o JOIN evm.executions e USING (execution_id) WHERE e.candidate_key IN ('complete-effects', 'later-revert', 'ordered-logs', 'create', 'selfdestruct', 'blockhash', 'transient-access');

Example: table.evm.execution_frames.diagnostic