Skip to main content

Essential type definitions

This reference implementation uses a few fundamental types/interfaces for cross-cutting concerns. This section describes upfront what these are, since the rest of the implementation makes heavy use of them:

  • Pointer types model the ethdebug/format/pointer JSON Schema as TypeScript types (including corresponding type guards)

  • The Data and machines page covers low-level concerns of handling raw bytes and interfacing with running EVMs.

  • Cursors are the result of dereferencing a pointer; they accept a machine state and produce a list of concrete data address ranges corresponding to runtime pointer regions.