@lit-protocol/vincent-scaffold-sdk
Version:
Shared build configuration and utilities for Vincent abilities and policies
62 lines (61 loc) • 2.33 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAlchemyChainConfig = getAlchemyChainConfig;
const infra_1 = require("@account-kit/infra");
/**
* Helper function to get Alchemy chain configuration
* Supports all chains exported from AlchemyInfra by mapping chainId to the corresponding chain object.
*/
function getAlchemyChainConfig(chainId) {
// Map of chainId to chain object
const chainMap = {
[]: infra_1.mainnet,
[]: infra_1.goerli,
[]: infra_1.optimism,
[]: infra_1.optimismGoerli,
[]: infra_1.optimismSepolia,
[]: infra_1.sepolia,
[]: infra_1.polygon,
[]: infra_1.polygonMumbai,
[]: infra_1.base,
[]: infra_1.baseGoerli,
[]: infra_1.baseSepolia,
[]: infra_1.arbitrum,
[]: infra_1.arbitrumNova,
[]: infra_1.arbitrumGoerli,
[]: infra_1.arbitrumSepolia,
[]: infra_1.polygonAmoy,
[]: infra_1.zora, // If zora is mainnet
[]: infra_1.zoraSepolia, // If zoraSepolia is testnet
[]: infra_1.fraxtal, // Fraxtal mainnet
[]: infra_1.fraxtalSepolia,
[]: infra_1.worldChain,
[]: infra_1.worldChainSepolia,
[]: infra_1.shape,
[]: infra_1.shapeSepolia,
[]: infra_1.unichainMainnet,
[]: infra_1.unichainSepolia,
[]: infra_1.soneiumMinato,
[]: infra_1.soneiumMainnet,
[]: infra_1.opbnbMainnet,
[]: infra_1.opbnbTestnet,
[]: infra_1.beraChainBartio,
[]: infra_1.inkMainnet,
[]: infra_1.inkSepolia,
[]: infra_1.mekong,
[]: infra_1.monadTestnet,
[]: infra_1.openlootSepolia,
[]: infra_1.gensynTestnet,
[]: infra_1.riseTestnet,
[]: infra_1.storyMainnet,
[]: infra_1.storyAeneid,
[]: infra_1.celoAlfajores,
[]: infra_1.celoMainnet,
[]: infra_1.teaSepolia,
// Add more mappings as new chains are supported
};
if (chainId in chainMap) {
return chainMap[chainId];
}
throw new Error(`Chain ID ${chainId} not supported`);
}