From 136ddb89ee5936766ee941f01b4e45d7868af288 Mon Sep 17 00:00:00 2001 From: chrisli30 Date: Tue, 18 Aug 2026 22:41:18 -0700 Subject: [PATCH] feat!: remove Chains.Holesky MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EigenLayer has sunset Holesky and Ava Protocol's testnet AVS moved to Sepolia, so the constant no longer names a chain anything in this catalog targets. Nothing here ever covered it: no protocol module and no token declares a 17000 entry, so `dist/tokens/holesky.json` was never emitted despite the sidecar's filename map and the README listing it. Verified by rebuilding — the sidecar writes the same 5 files before and after this change. BREAKING CHANGE: `Chains.Holesky` no longer exists. Callers referencing it fail to compile; there is no replacement, use `Chains.Sepolia` (11155111) for testnet. Co-Authored-By: Claude Opus 5 (1M context) --- .changeset/drop-holesky-chain.md | 9 +++++++++ README.md | 3 +-- scripts/build-tokens-sidecar.ts | 2 -- src/chains.ts | 1 - 4 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 .changeset/drop-holesky-chain.md diff --git a/.changeset/drop-holesky-chain.md b/.changeset/drop-holesky-chain.md new file mode 100644 index 0000000..c6e65c5 --- /dev/null +++ b/.changeset/drop-holesky-chain.md @@ -0,0 +1,9 @@ +--- +"@avaprotocol/protocols": major +--- + +Remove `Chains.Holesky` (17000). EigenLayer has sunset Holesky and Ava Protocol's testnet AVS moved to Sepolia, so the constant no longer names a chain anything in this catalog targets. + +Nothing in the catalog covered it: no protocol module and no token declared a 17000 entry, so `dist/tokens/holesky.json` was never actually emitted despite the sidecar's filename map and README listing it. The removal drops the constant, its sidecar filename entry, and both doc references. + +**Breaking:** `Chains.Holesky` no longer exists. Callers referencing it fail to compile. There is no replacement — use `Chains.Sepolia` (11155111) for testnet work. diff --git a/README.md b/README.md index aabc6f2..37459de 100644 --- a/README.md +++ b/README.md @@ -203,8 +203,7 @@ dist/tokens/ ├── sepolia.json (chain 11155111) ├── base.json (chain 8453) ├── base-sepolia.json (chain 84532) -├── bnb-mainnet.json (chain 56) -└── holesky.json (chain 17000) +└── bnb-mainnet.json (chain 56) ``` Each file is a stable-sorted array of `{ id, name, symbol, decimals }` entries — the same schema the EigenLayer-AVS Go aggregator already consumes under `token_whitelist/*.json`, so a Go service can pick up the catalog without depending on the TS toolchain. `id` is the lowercased address (matching Go's read-side normalization). Metadata fields TS consumers use (`description`, `website`, `logoUrl`, `links`) are intentionally omitted; TS callers import the `Tokens` namespace from source instead. diff --git a/scripts/build-tokens-sidecar.ts b/scripts/build-tokens-sidecar.ts index 73556e5..209ce2f 100644 --- a/scripts/build-tokens-sidecar.ts +++ b/scripts/build-tokens-sidecar.ts @@ -19,7 +19,6 @@ * dist/tokens/base.json — chain 8453 * dist/tokens/base-sepolia.json — chain 84532 * dist/tokens/bnb-mainnet.json — chain 56 - * dist/tokens/holesky.json — chain 17000 * * File naming matches the convention EigenLayer-AVS already uses for * its checked-in whitelists so the migration path is a one-line @@ -45,7 +44,6 @@ const CHAIN_FILE_NAMES: Readonly> = Object.freeze({ [Chains.BaseMainnet]: "base", [Chains.BaseSepolia]: "base-sepolia", [Chains.BnbMainnet]: "bnb-mainnet", - [Chains.Holesky]: "holesky", }); function buildSidecar(): Record { diff --git a/src/chains.ts b/src/chains.ts index bf174f3..476ffdd 100644 --- a/src/chains.ts +++ b/src/chains.ts @@ -10,7 +10,6 @@ export const Chains = Object.freeze({ EthereumMainnet: 1 as const, Sepolia: 11_155_111 as const, - Holesky: 17_000 as const, OptimismMainnet: 10 as const, UnichainMainnet: 130 as const, BaseMainnet: 8453 as const,