Skip to main content

Specification overview

The ethdebug format is currently in the design phase and specification is only just beginning.

Contents

This specification currently contains the following primary schemas:

ethdebug/format/type

A schema for representing high-level data types such as arrays of integers, payable addresses, etc.

ethdebug/format/pointer

A schema for representing dynamic data address ranges in the EVM, particularly to indicate where high-level variables are allocated in the machine state.

(more coming soon)
...

These schemas are specified as JSON Schema documents, draft 2020-12.

For the full collection of raw schema listings (in YAML format), please see the schemas/ directory in this project's GitHub repository.

Conventions used by this format

Terminology

This specification uses the term "this format" to refer to the entirety of this project's scope (all formal schemas and any additional informally-described constraints). Sections within this specification use the term "this schema" to refer to whatever schema is related to the section in question.

This specification uses the terms "known" and "unknown" synomously to mean "within the scope of this format" and "outside the scope of this format", respectively.

RFC-2119

The key words "must", "must not", "required", "shall", "shall not", "should", "should not", "recommended", "may", and "optional" in this specification are to be interpreted as described in RFC-2119.