Skip to main content

Info

The info schema is the top-level container for ethdebug/format debug data. It bundles programs, types, sources, and compilation metadata into a single representation.

For the mental model behind info objects, see Concepts: Info.

What the info schema provides

The ethdebug/format/info schema represents a complete unit of debug information for a compilation:

  • Programs for each bytecode artifact (create and call)
  • Shared type definitions referenced across programs
  • Source files (content or references)
  • Compilation metadata (compiler version, settings)

Schema overview

An info object at minimum includes:

Minimal info objectSchema:ethdebug/format/info
{
"$schema": "https://ethdebug.github.io/format/schema/info.json",
"compilation": {
"id": "compilation-1",
"compiler": { "name": "solc", "version": "0.8.20" },
"sources": [
{ "id": "source-1", "language": "Solidity",
"path": "contracts/Token.sol", "contents": "// ..." }
]
},
"programs": [
{ /* program for create bytecode */ },
{ /* program for call bytecode */ }
],
"types": {},
"pointers": {}
}

When to use the info schema

Use ethdebug/format/info when you need:

  • A complete, standalone debug artifact
  • Debug data separate from compiler output
  • Input for debuggers and analysis tools

For embedding debug data within compiler output, see info/resources.

Resources

Compilation-level shared data: sources, compilations, and shared types.

Specification

Formal JSON Schema definition for info objects.

  • Programs — Runtime context for each bytecode
  • Types — Data structure descriptions
  • Pointers — Data location descriptions