@@ -33,15 +33,10 @@ domain of experts. Without a mechanism for machine-to-human translation,
3333smart contract software quality comes at a higher cost, and any promise of
3434trust risks erosion.
3535
36- [ ^ 1 ] : See [ Debugging data format -
37- Wikipedia] ( https://en.wikipedia.org/wiki/Debugging_data_format )
38-
39- [ ^ 2 ] : See [ DWARF - Wikipedia] ( https://en.wikipedia.org/wiki/DWARF )
40-
4136## Purpose of this repository
4237
43- This repository serves as a home for the working group to design
44- a standard debugging data format for smart contracts on
38+ This repository serves as a home for the ** ethdebug/format ** working group to
39+ design a standard debugging data format for smart contracts on
4540Ethereum-compatible networks.
4641
4742## Contents
@@ -50,12 +45,29 @@ This repository contains a
5045[ ` schemas/ ` ] ( https://github.com/ethdebug/format/tree/main/schemas ) directory
5146with the formal JSON Schemas defined by this project (in YAML format).
5247
53- This repository also contains a number of NPM packages (currently unpublished):
54- - ** @ethdebug/format ** : A Node.js-compatible distribution of these schemas
55- - ** @ethdebug/format-tests ** : Contains a test suite for validating schemas and
56- testing examples/other constraints.
57- - ** @ethdebug/format-web ** : The docusaurus site source that powers this
58- project's homepage.
48+ This repository also contains the source materials for the following NPM packages:
49+ - ** @ethdebug/format ** in
50+ [ ` packages/format/ ` ] ( https://github.com/ethdebug/format/tree/main/packages/format )
51+ distributes the formal schemas for use in TypeScript
52+ or JavaScript projects, along with corresponding
53+ type predicate functions[ ^ 3 ] to help maintain type-safety when reading
54+ objects in these schemas.
55+
56+ - ** @ethdebug/pointers ** in
57+ [ ` packages/pointers/ ` ] ( https://github.com/ethdebug/format/tree/main/packages/pointers )
58+ provides a functional reference implementation for dereferencing
59+ [ ethdebug/format/pointer] ( https://ethdebug.github.io/format/spec/pointer/overview )
60+ objects against running raw EVM machine state.
61+
62+ For more about this reference implementation, please see accompanying
63+ [ Dereferencing pointers] ( https://ethdebug.github.io/format/docs/implementation-guides/pointers/ )
64+ implementation guide on this project's homepage.
65+
66+ - ** @ethdebug/format-web ** _ (unpublished package)_ in
67+ [ ` packages/web/ ` ] ( https://github.com/ethdebug/format/tree/main/packages/web )
68+ contains the materials for
69+ the Docusaurus site powering
70+ [ this project's homepage] ( https://ethdebug.github.io/format ) .
5971
6072## Developing locally
6173
@@ -75,3 +87,11 @@ on any changes. This will open your browser to `http://localhost:3000/format`:
7587``` console
7688yarn start
7789```
90+
91+ [ ^ 1 ] : See [ Debugging data format -
92+ Wikipedia] ( https://en.wikipedia.org/wiki/Debugging_data_format )
93+
94+ [ ^ 2 ] : See [ DWARF - Wikipedia] ( https://en.wikipedia.org/wiki/DWARF )
95+
96+ [ ^ 3 ] : See [ Using type predicates] ( https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates )
97+ section from TypeScript's Narrowing documentation.
0 commit comments