From 824287b7bd87c4149a879972ebddddde86f84001 Mon Sep 17 00:00:00 2001 From: Yaro Shkvorets Date: Sat, 22 Feb 2025 18:08:06 -0500 Subject: [PATCH] Add missing mainnet aliases (#86) * add mainnet alias validation rule * fix chains without "-mainnet" aliases * bump version --- package.json | 2 +- registry/bip122/btc.json | 2 +- registry/eip155/arbitrum-one.json | 2 +- registry/eip155/bnb-op.json | 2 +- registry/eip155/boba-bnb.json | 2 +- registry/eip155/clover.json | 2 +- registry/eip155/fraxtal.json | 2 +- registry/eip155/mint.json | 2 +- registry/eip155/moonbeam.json | 2 +- registry/eip155/moonriver.json | 2 +- registry/eip155/optimism.json | 2 +- registry/eip155/polygon-zkevm.json | 2 +- registry/eip155/zksync-era.json | 2 +- registry/solana/solana-mainnet-beta.json | 2 +- src/validate_logic.ts | 28 ++++++++++++++++++++++++ 15 files changed, 42 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 7ac18d3..964e79a 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "0.6.41", + "version": "0.6.42", "private": true, "type": "module", "scripts": { diff --git a/registry/bip122/btc.json b/registry/bip122/btc.json index 7f015c2..1a7f1e0 100644 --- a/registry/bip122/btc.json +++ b/registry/bip122/btc.json @@ -2,7 +2,7 @@ "id": "btc", "shortName": "Bitcoin", "fullName": "Bitcoin Mainnet", - "aliases": ["bitcoin"], + "aliases": ["bitcoin", "btc-mainnet"], "caip2Id": "bip122:000000000019d6689c085ae165831e93", "explorerUrls": ["https://btcscan.org"], "rpcUrls": ["https://bitcoin-mainnet.gateway.tatum.io"], diff --git a/registry/eip155/arbitrum-one.json b/registry/eip155/arbitrum-one.json index 03fbbb1..8fb57fb 100644 --- a/registry/eip155/arbitrum-one.json +++ b/registry/eip155/arbitrum-one.json @@ -2,7 +2,7 @@ "id": "arbitrum-one", "shortName": "Arbitrum One", "fullName": "Arbitrum One Mainnet", - "aliases": ["arbone", "arbitrum", "arb-sepolia", "evm-42161"], + "aliases": ["arbone", "arbitrum", "arb-sepolia", "evm-42161", "arbitrum-one-mainnet"], "caip2Id": "eip155:42161", "graphNode": { "protocol": "ethereum" }, "relations": [{ "kind": "l2Of", "network": "mainnet" }], diff --git a/registry/eip155/bnb-op.json b/registry/eip155/bnb-op.json index aa71a98..4a4a019 100644 --- a/registry/eip155/bnb-op.json +++ b/registry/eip155/bnb-op.json @@ -2,7 +2,7 @@ "id": "bnb-op", "shortName": "opBNB", "fullName": "opBNB Mainnet", - "aliases": ["evm-204", "opbnb", "bsc-op"], + "aliases": ["evm-204", "opbnb", "bsc-op", "bnb-op-mainnet"], "caip2Id": "eip155:204", "graphNode": { "protocol": "ethereum" }, "relations": [{ "kind": "l2Of", "network": "bsc" }], diff --git a/registry/eip155/boba-bnb.json b/registry/eip155/boba-bnb.json index cbd8d48..25796af 100644 --- a/registry/eip155/boba-bnb.json +++ b/registry/eip155/boba-bnb.json @@ -2,7 +2,7 @@ "id": "boba-bnb", "shortName": "Boba BNB", "fullName": "Boba BNB Mainnet", - "aliases": ["evm-56288", "boba-bsc"], + "aliases": ["evm-56288", "boba-bsc", "boba-bnb-mainnet"], "caip2Id": "eip155:56288", "graphNode": { "protocol": "ethereum" }, "explorerUrls": ["https://bnb.bobascan.com"], diff --git a/registry/eip155/clover.json b/registry/eip155/clover.json index fdeddbc..cf27791 100644 --- a/registry/eip155/clover.json +++ b/registry/eip155/clover.json @@ -2,7 +2,7 @@ "id": "clover", "shortName": "CLV", "fullName": "CLV Parachain", - "aliases": ["clv-mainnet", "evm-1023"], + "aliases": ["clv-mainnet", "evm-1023", "clover-mainnet"], "caip2Id": "eip155:1023", "graphNode": { "protocol": "ethereum" }, "explorerUrls": ["https://clvscan.com"], diff --git a/registry/eip155/fraxtal.json b/registry/eip155/fraxtal.json index 833f3c9..52b67f4 100644 --- a/registry/eip155/fraxtal.json +++ b/registry/eip155/fraxtal.json @@ -2,7 +2,7 @@ "id": "fraxtal", "shortName": "Fraxtal", "fullName": "Fraxtal Mainnet", - "aliases": ["evm-252"], + "aliases": ["evm-252", "fraxtal-mainnet"], "caip2Id": "eip155:252", "graphNode": { "protocol": "ethereum" }, "explorerUrls": ["https://fraxscan.com"], diff --git a/registry/eip155/mint.json b/registry/eip155/mint.json index ad559a6..1a8e352 100644 --- a/registry/eip155/mint.json +++ b/registry/eip155/mint.json @@ -2,7 +2,7 @@ "id": "mint", "shortName": "Mint", "fullName": "Mint Mainnet", - "aliases": ["evm-185"], + "aliases": ["evm-185", "mint-mainnet"], "caip2Id": "eip155:185", "graphNode": { "protocol": "ethereum" }, "explorerUrls": ["https://explorer.mintchain.io"], diff --git a/registry/eip155/moonbeam.json b/registry/eip155/moonbeam.json index f44a1d9..7c4821e 100644 --- a/registry/eip155/moonbeam.json +++ b/registry/eip155/moonbeam.json @@ -2,7 +2,7 @@ "id": "moonbeam", "shortName": "Moonbeam", "fullName": "Moonbeam Mainnet", - "aliases": ["evm-1284", "mbeam"], + "aliases": ["evm-1284", "mbeam", "moonbeam-mainnet"], "caip2Id": "eip155:1284", "graphNode": { "protocol": "ethereum" }, "explorerUrls": ["https://moonbeam.moonscan.io"], diff --git a/registry/eip155/moonriver.json b/registry/eip155/moonriver.json index a8484d2..974959b 100644 --- a/registry/eip155/moonriver.json +++ b/registry/eip155/moonriver.json @@ -2,7 +2,7 @@ "id": "moonriver", "shortName": "Moonriver", "fullName": "Moonriver Mainnet", - "aliases": ["evm-1285", "mriver"], + "aliases": ["evm-1285", "mriver", "moonriver-mainnet"], "caip2Id": "eip155:1285", "graphNode": { "protocol": "ethereum" }, "explorerUrls": ["https://moonriver.moonscan.io"], diff --git a/registry/eip155/optimism.json b/registry/eip155/optimism.json index 1aead16..99f5c90 100644 --- a/registry/eip155/optimism.json +++ b/registry/eip155/optimism.json @@ -2,7 +2,7 @@ "id": "optimism", "shortName": "Optimism", "fullName": "OP Mainnet", - "aliases": ["evm-10", "op-mainnet"], + "aliases": ["evm-10", "op-mainnet", "optimism-mainnet"], "caip2Id": "eip155:10", "graphNode": { "protocol": "ethereum" }, "relations": [{ "kind": "l2Of", "network": "mainnet" }], diff --git a/registry/eip155/polygon-zkevm.json b/registry/eip155/polygon-zkevm.json index 921f356..0b541f2 100644 --- a/registry/eip155/polygon-zkevm.json +++ b/registry/eip155/polygon-zkevm.json @@ -2,7 +2,7 @@ "id": "polygon-zkevm", "shortName": "Polygon zkEVM", "fullName": "Polygon zkEVM Mainnet", - "aliases": [], + "aliases": ["evm-1101", "polygon-zkevm-mainnet"], "caip2Id": "eip155:1101", "graphNode": { "protocol": "ethereum" }, "relations": [{ "kind": "l2Of", "network": "mainnet" }], diff --git a/registry/eip155/zksync-era.json b/registry/eip155/zksync-era.json index 5367c3c..ae05dba 100644 --- a/registry/eip155/zksync-era.json +++ b/registry/eip155/zksync-era.json @@ -3,7 +3,7 @@ "shortName": "zkSync", "secondName": "Era", "fullName": "zkSync Mainnet", - "aliases": ["evm-324", "zksync"], + "aliases": ["evm-324", "zksync", "zksync-era-mainnet"], "caip2Id": "eip155:324", "graphNode": { "protocol": "ethereum" }, "explorerUrls": ["https://explorer.zksync.io"], diff --git a/registry/solana/solana-mainnet-beta.json b/registry/solana/solana-mainnet-beta.json index c53f602..1458121 100644 --- a/registry/solana/solana-mainnet-beta.json +++ b/registry/solana/solana-mainnet-beta.json @@ -2,7 +2,7 @@ "id": "solana-mainnet-beta", "shortName": "Solana", "fullName": "Solana Mainnet", - "aliases": ["solana-mainnet", "solana"], + "aliases": ["solana-mainnet", "solana", "solana-beta"], "caip2Id": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "explorerUrls": ["http://explorer.solana.com", "http://solana.fm"], "rpcUrls": ["https://api.mainnet-beta.solana.com"], diff --git a/src/validate_logic.ts b/src/validate_logic.ts index c79a92f..8aa2aa9 100644 --- a/src/validate_logic.ts +++ b/src/validate_logic.ts @@ -242,6 +242,33 @@ function validateUrls(networks: Network[]) { process.stdout.write("done\n"); } +function validateMainnetAliases(networks: Network[]) { + process.stdout.write("Validating mainnet aliases ... "); + const mainnets = networks.filter( + (n) => + n.id !== "mainnet" && + n.networkType === "mainnet" && + !n.relations?.some((r) => r.kind === "beaconOf"), + ); + for (const network of mainnets) { + const woMainnet = network.id.replace("-mainnet", ""); + const withMainnet = `${woMainnet}-mainnet`; + + if (woMainnet === network.id) { + if (!network.aliases?.includes(withMainnet)) { + ERRORS.push( + `\`${network.id}\` - must have an alias \`${withMainnet}\``, + ); + } + } else { + if (!network.aliases?.includes(woMainnet)) { + ERRORS.push(`\`${network.id}\` - must have an alias \`${woMainnet}\``); + } + } + } + process.stdout.write("done\n"); +} + async function validateWeb3Icons(networks: Network[]) { process.stdout.write("Validating web3 icons ... "); const web3Icons = await fetchWeb3NetworkIcons(); @@ -427,6 +454,7 @@ export async function validateLogic(networksPath: string) { validateTestnets(networks); validateUrls(networks); validateServices(networks); + validateMainnetAliases(networks); await validateWeb3Icons(networks); await validateFirehoseBlockType(networks); await validateGraphNetworks(networks);