Files
prysm/specrefs/README.md
Justin Traglia fab687d96d Improve ethspecify integration (#16304)
**What type of PR is this?**

Documentation

**What does this PR do? Why is it needed?**

* Move the ethspecify config from `/specrefs/.ethspecify` to
`/.ethspecify`.
* This allows developers to use inline specrefs (eg spec functions in
godoc comments).
* To do this, simply add a spec tag and run `ethspecify` to populate it.
* Clean up specref exceptions; organize by upgrade & put items in the
correct section.
* Update a few godoc comments to use the new inline specref feature.
* Update check-specrefs GitHub action so that it enforces up-to-date
godocs.
* Standardize specref naming; requiring a `#fork` tag for everything.
* Add new specrefs (which haven't been implemented yet) which were
missing.

**Acknowledgements**

- [x] I have read
[CONTRIBUTING.md](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md).
- [x] I have included a uniquely named [changelog fragment
file](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md#maintaining-changelogmd).
- [x] I have added a description with sufficient context for reviewers
to understand this PR.
- [x] I have tested that my changes work as expected and I added a
testing plan to the PR description (if applicable).

---------

Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
2026-02-04 18:44:01 +00:00

1.1 KiB

Specification References

This directory contains specification reference tracking files managed by ethspecify.

Installation

Install ethspecify with the following command:

pipx install ethspecify

Maintenance

When adding support for a new specification version, follow these steps:

  1. Update the version in .ethspecify.yml configuration.
  2. Run ethspecify to update/populate specrefs.
  3. Run ethspecify check to check specrefs.
  4. If there are errors, use the error message as a guide to fix the issue. If there are new specrefs with empty sources, implement/locate each item and update each specref source list. If you choose not to implement an item, add an exception to the appropriate section the the .ethspecify.yml configuration.
  5. Repeat steps 3 and 4 until ethspecify check passes.
  6. Run git diff to view updated specrefs. If an object/function/etc has changed, make the necessary updates to the implementation.
  7. Lastly, in the project's root directory, run act -j check-specrefs to ensure everything is correct.