Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
0df9910
feat: specifically signature scheme switching
unnawut Dec 9, 2025
235899b
fix: linting
unnawut Dec 9, 2025
0444c46
chore: simplify filler
unnawut Dec 9, 2025
9958732
fix: don't preset current signature scheme
unnawut Dec 9, 2025
0e35a4e
fix: minor polish
unnawut Dec 9, 2025
78bab9f
fix: linting
unnawut Dec 9, 2025
6eb89e1
feat: use env var instead of cli flag
unnawut Dec 10, 2025
980eeda
refactor: move signature_scheme inside keys module
unnawut Dec 10, 2025
4ec55da
refactor: more pydantic signature_scheme field
unnawut Dec 10, 2025
cdade6c
Merge branch 'main' into signature-scheme-switching
unnawut Dec 10, 2025
32a61c1
refactor remove solo key manger from verify_signatures suite
unnawut Dec 10, 2025
178ab3f
refactor: simplify keys module
unnawut Dec 10, 2025
c541a33
refactor: use LEAN_ENV var instead
unnawut Dec 10, 2025
28fc44a
refactor: rename XMSS_CONFIG to ENV_CONFIG
unnawut Dec 10, 2025
ac671ae
fix: linting
unnawut Dec 10, 2025
feda387
rename XMSS_SIGNATURE_SCHEME to ENV_SIGNATURE_SCHEME
unnawut Dec 10, 2025
56a881d
refactor: move custom key manager logic in ForkChoiceTest into the ge…
unnawut Dec 11, 2025
a6a7c50
refactor: rename ENV_ prefix to TARGET_
unnawut Dec 11, 2025
a098055
feat: default to LEAN_ENV=test for testing
unnawut Dec 11, 2025
f21be75
fix: linting
unnawut Dec 11, 2025
4d1f34e
feat: downloadable test keys
unnawut Dec 12, 2025
2f8265a
feat: enable prod test filling on main branch
unnawut Dec 12, 2025
7e143f0
chore: more verbose keygen logging
unnawut Dec 12, 2025
3fd7e96
fix: percentage calc
unnawut Dec 12, 2025
1304430
feat: fill prod vectors on main push
unnawut Dec 12, 2025
b46106b
refactor: cleaner LEAN_ENV retrieval
unnawut Dec 15, 2025
e0677ee
refactor: remove os.environ.get from key manager
unnawut Dec 15, 2025
eedc740
refactor: remove keygen logs
unnawut Dec 15, 2025
f84f961
Merge branch 'main' into signature-scheme-switching
unnawut Dec 17, 2025
09f464e
fix: linting
unnawut Dec 15, 2025
2297580
Update packages/testing/src/consensus_testing/test_types/genesis.py
unnawut Dec 16, 2025
99dd3b1
fix: remove explicit variable name from code comment
unnawut Dec 16, 2025
414e6b2
Update packages/testing/src/framework/test_fixtures/base.py
unnawut Dec 16, 2025
8dd3d11
fix: remove LEAN_ENV default from conftest
unnawut Dec 16, 2025
bc9415b
refactor: consolidate LEAN_ENV parsing to lean_spec.config
unnawut Dec 16, 2025
e911c90
fix: bring back LEAN_ENV default in conftest.py
unnawut Dec 16, 2025
3686566
feat(fill): set sig scheme via CLI flag for filler, default to test
fselmo Dec 16, 2025
5e294bb
feat: use leanEthereum/leansig-test-keys
unnawut Dec 17, 2025
1c7480c
feat: download test keys before filling
unnawut Dec 17, 2025
67ab712
fix: linting
unnawut Dec 17, 2025
d20b21f
fix: rebase
unnawut Dec 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/prod-vectors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Production Test Vectors

on:
push:
branches: [main]

permissions:
contents: read

jobs:
fill-prod-vectors:
name: Fill production test fixtures - Python 3.14
runs-on: ubuntu-latest
steps:
- name: Checkout leanSpec
uses: actions/checkout@v4

- name: Install uv and Python 3.14
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
python-version: "3.14"

- name: Sync dependencies
run: uv sync --no-progress

- name: Get production keys URL hash
id: prod-keys-url
run: |
URL=$(uv run python -c "from consensus_testing.keys import KEY_DOWNLOAD_URLS; print(KEY_DOWNLOAD_URLS['prod'])")
HASH=$(echo -n "$URL" | sha256sum | awk '{print $1}')
echo "hash=$HASH" >> $GITHUB_OUTPUT

- name: Cache production keys
id: cache-prod-keys
uses: actions/cache@v4
with:
path: packages/testing/src/consensus_testing/test_keys/prod_scheme
key: prod-keys-${{ steps.prod-keys-url.outputs.hash }}

- name: Download production keys
if: steps.cache-prod-keys.outputs.cache-hit != 'true'
run: uv run python -m consensus_testing.keys --download --scheme prod

- name: Fill production test fixtures
env:
LEAN_ENV: prod
run: uv run fill --fork=Devnet --clean -n auto

- name: Create fixtures archive
run: tar -czf fixtures-prod-scheme.tar.gz fixtures/

- name: Upload production test fixtures
uses: actions/upload-artifact@v4
with:
name: fixtures-prod-scheme
path: fixtures-prod-scheme.tar.gz
if-no-files-found: error
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -156,3 +156,6 @@ site/

# Ruff
.ruff_cache/

# PQ test keys
packages/testing/src/consensus_testing/test_keys/prod_scheme/
Loading
Loading