This repository contains generated JSON test vectors for the ssv-spec project.
The JSONs are generated in ssv-spec and synchronized here via CI.
spec-tests/
qbft/
tests/
state_comparison/
ssv/
tests/
state_comparison/
types/
tests/
state_comparison/
tests/— individual test JSON files.state_comparison/— post‑state comparison JSONs used by spec tests.
JSONs are generated by ssv-spec:
make generate-jsons(runsgo generate ./...)- Generators live under:
qbft/spectest/generate/main.gossv/spectest/generate/main.gotypes/spectest/generate/main.go
The generators write to an external sibling directory:
../spec-tests/{qbft,ssv,types}/...
This repo should not be edited manually — it’s generated.
The ssv-spec CI workflow:
- Generates JSONs.
- Opens/updates a PR in this repo with the same PR name.
- On merge to
maininssv-spec, syncs the JSONs here and merges the matching PR.
In ssv-spec GitHub Actions:
- Repo variable:
SPEC_TESTS_REPO(e.g.,ssvlabs/spec-tests) - Secret:
SPEC_TESTS_TOKENwith write access to this repo
Consumers should treat this repo as a read‑only artifact:
- For test running in production, it is recommended to generate the test vectors JSONs from
ssv-specwithmake generate-jsonsto avoid any CI mishap that may bring this repo out of sync. - This repository is helpful for test development, since it helps track changes in the test vectors across commits.
- If JSONs look out of date, re-run
make generate-jsonsinssv-spec. - If CI doesn’t sync, check
SPEC_TESTS_REPOandSPEC_TESTS_TOKEN.
Repository is distributed under GPL-3.0.