Skip to content

Commit 8bae55e

Browse files
johnmarcouclaude
andauthored
feat: introduce new validator metadata fields (#967)
* feat(schema): add registration_date, decommissioned, and vdp fields Introduces three new optional fields to the validator schema: - registration_date (string, YYYY-MM-DD): on-chain registration date - decommissioned (bool): whether the validator is no longer active - vdp (bool): whether the validator is in the Validator Delegation Program All fields are optional so existing entries remain valid. Validation logic and the schema reference table in the README are updated accordingly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(data): backfill registration_date, decommissioned, and vdp on all validators Sets registration_date=2026-01-01, decommissioned=false, vdp=true on all 493 existing mainnet and testnet validator entries. Exceptions: - vdp=false for all Monad Foundation and Category Labs validators - decommissioned=true for the 2 Monad Foundation mainnet validators Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(data): audit logos and backfill registration dates from git history - Remove 37 inaccessible logo URLs (404 / DNS failures) - Backfill registration_date from each file's first git commit date - Set vdp=false for Monad Foundation, Category Labs, Backpack, and LeMonad - Rewrite validate_many.py to delegate to validate.py with parallel execution (--workers) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(schema): make registration_date, decommissioned, and vdp required Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(example): update registration_date to 2025-12-31 for clarity Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs(readme): mark registration_date, decommissioned, and vdp as required Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(validate): ignore HTTP 415 and remove intermediate blank line in output Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(validate): ignore text/html content-type on logo URL check Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(validate): Monad-styled output for validate_many with CI color support Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(data): mark validators 155, 173, 180 (mainnet) and 96 (testnet) as decommissioned Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 7b08004 commit 8bae55e

499 files changed

Lines changed: 2237 additions & 829 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/check.yaml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,9 @@ jobs:
2020
- name: Validating changed files
2121
env:
2222
MAINNET_RPC_URL: ${{ secrets.MAINNET_RPC_URL }}
23+
TESTNET_RPC_URL: ${{ secrets.TESTNET_RPC_URL }}
2324
run: |
2425
git fetch origin ${{ github.base_ref }}
25-
# Get list of changed files, excluding deleted files (--diff-filter=d)
26-
# since we can't validate files that no longer exist
27-
FILES="$(git diff --name-only --diff-filter=d origin/${{ github.base_ref }}...HEAD | grep -E '^(testnet|mainnet)/' || true)"
28-
29-
for FILE in $FILES; do
30-
python scripts/validate.py "$FILE"
31-
done
26+
git diff --name-only --diff-filter=d origin/${{ github.base_ref }}...HEAD \
27+
| grep -E '^(testnet|mainnet)/[^/]+\.json$' \
28+
| xargs --no-run-if-empty python scripts/validate_many.py

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,19 @@ To contribute:
1313
1. Share the PR link in the designated Discord channel for review.
1414

1515
⚠️ Note: PRs that are not shared via Discord will not be reviewed.
16+
17+
## Schema
18+
19+
| Field | Type | Required | Description |
20+
|---|---|---|---|
21+
| `id` | integer | yes | Validator ID on-chain |
22+
| `name` | string | yes | Display name |
23+
| `secp` | string | yes | SECP public key (66-char hex); must match filename |
24+
| `bls` | string | yes | BLS public key (96-char hex) |
25+
| `website` | string | yes | Validator website URL |
26+
| `description` | string | yes | Short description of the validator |
27+
| `x` | string | yes | X (Twitter) profile URL |
28+
| `logo` | string | no | HTTPS URL to a logo image |
29+
| `registration_date` | string | yes | Date of on-chain registration (`YYYY-MM-DD`) |
30+
| `decommissioned` | boolean | yes | `true` if the validator is no longer active |
31+
| `vdp` | boolean | yes | `true` if the validator participates in the Validator Delegation Program |

example/000000000000000000000000000000000000000000000000000000000000000000.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://example.com/",
77
"description": "This is an example",
88
"logo": "https://example.com/example.png",
9-
"x": "https://x.com/example"
9+
"x": "https://x.com/example",
10+
"registration_date": "2025-12-31",
11+
"decommissioned": false,
12+
"vdp": false
1013
}

mainnet/0202169e1025e8aa4d5979e759dd35e6e4baaa04137289d0651e45d9218b7a9229.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://www.galaxy.com/",
77
"description": "Galaxy is a digital asset and blockchain leader helping institutions, startups, and qualified individuals shape a changing economy. We provide platform solutions custom-made for a digitally native ecosystem.",
88
"logo": "https://dmpf98hz4x3ps.cloudfront.net/galaxy.png",
9-
"x": "https://x.com/galaxyhq"
9+
"x": "https://x.com/galaxyhq",
10+
"registration_date": "2025-11-20",
11+
"decommissioned": false,
12+
"vdp": true
1013
}

mainnet/02046d68c698c9262a73eeb75e08672d5c8177903ee4ce49156bee029d4e5665e7.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://www.wcs.tech",
77
"description": "Web3 Venture Studio focused on scalable yield and infrastructure products.",
88
"logo": "https://wcs-logos.s3.us-east-1.amazonaws.com/wcs-logo-dark-bg.png",
9-
"x": "https://x.com/0xwatercooler"
9+
"x": "https://x.com/0xwatercooler",
10+
"registration_date": "2025-12-18",
11+
"decommissioned": false,
12+
"vdp": true
1013
}

mainnet/020725ea4d9c56d7f0f798599c59682d1cfc6b667916946645d5887d5225c76733.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://cogentcrypto.io",
77
"description": "High performance validator by SOL Strategies. ISO27001 & SOC2 Type I certified",
88
"logo": "https://img.solstrategies.io/cogent.jpg",
9-
"x": "https://x.com/Cogent_Crypto"
9+
"x": "https://x.com/Cogent_Crypto",
10+
"registration_date": "2025-09-23",
11+
"decommissioned": false,
12+
"vdp": true
1013
}

mainnet/02087d6afd5b2ce1a22aa5682dbb0363f2557bf9cde3545fbd374c98fd2c3f3747.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://www.natsai.xyz/",
77
"description": "Natsai.xyz manages lean, non-custodial validator operations, ensuring robust and efficient blockchain network security.",
88
"logo": "https://avatars.githubusercontent.com/u/197120902?v=4",
9-
"x": "https://x.com/natsaiou"
9+
"x": "https://x.com/natsaiou",
10+
"registration_date": "2025-11-06",
11+
"decommissioned": false,
12+
"vdp": true
1013
}

mainnet/0208f84160464849cdd39a656503c845c830393a3a0add0b98810a31f351f5865f.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://theworkshop.sh",
77
"description": "We run high-performance and transparent validators.",
88
"logo": "https://theworkshop.sh/logo-dark.svg",
9-
"x": "https://x.com/hoanhan101"
9+
"x": "https://x.com/hoanhan101",
10+
"registration_date": "2025-11-13",
11+
"decommissioned": false,
12+
"vdp": true
1013
}

mainnet/020943aae8b02cb2bcc0fce26e8d52e0785af30f4f2532273caf88f4329864641f.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://validao.xyz/",
77
"description": "Farm-to-table, non-custodial proof-of-stake services and products powered by the premiere DAO-owned enterprise with 1k+ stakeholders. Zero VCs, zero seed oils.",
88
"logo": "https://pbs.twimg.com/profile_images/1932719728662831104/Rmp-zeGO_400x400.jpg",
9-
"x": "https://x.com/validaoxyz"
9+
"x": "https://x.com/validaoxyz",
10+
"registration_date": "2025-11-08",
11+
"decommissioned": false,
12+
"vdp": true
1013
}

mainnet/020bdb4060390ca9dab26ee1d04e005639345611f1df29f47d2a7c26f09799d865.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@
66
"website": "https://dsrv.com",
77
"description": "DSRV is an integrated blockchain solutions company with the mission of enriching the crypto ecosystem via stronger connectivity. We strive to be your gateway to a suite of all-comprehensive blockchain services. Everything distributed, served complete.",
88
"logo": "https://s3.amazonaws.com/keybase_processed_uploads/8349f3ab6852a8419c1987ad9096c605_360_360.jpg",
9-
"x": "https://x.com/dsrvlabs"
9+
"x": "https://x.com/dsrvlabs",
10+
"registration_date": "2025-07-17",
11+
"decommissioned": false,
12+
"vdp": true
1013
}

0 commit comments

Comments
 (0)