@bit-gpt/h402
Version:
BitGPT's 402 open protocol for blockchain-native payments
39 lines • 1.23 kB
JavaScript
import { base, bsc, mainnet } from "viem/chains";
const FALLBACK_CHAIN_ID = "1";
const chains = {
"1": {
chain: mainnet,
rpcEnvVariable: "ETHEREUM_RPC_URL",
nativeTokenDecimals: 18,
nativeTokenSymbol: "ETH",
},
"8453": {
chain: base,
rpcEnvVariable: "BASE_RPC_URL",
nativeTokenDecimals: 18,
nativeTokenSymbol: "ETH",
},
"56": {
chain: bsc,
rpcEnvVariable: "BSC_RPC_URL",
nativeTokenDecimals: 18,
nativeTokenSymbol: "BNB",
},
};
function getChain(chainId) {
if (!chains[chainId]) {
console.warn(`Chain ID ${chainId} not found, falling back to default chain ${FALLBACK_CHAIN_ID}`);
}
return chains[chainId]?.chain ?? chains[FALLBACK_CHAIN_ID].chain;
}
function getRPCEnvVariable(chainId) {
if (!chains[chainId]) {
console.warn(`Chain ID ${chainId} not found, falling back to default chain ${FALLBACK_CHAIN_ID}`);
}
return (chains[chainId]?.rpcEnvVariable ?? chains[FALLBACK_CHAIN_ID].rpcEnvVariable);
}
function isChainSupported(chainId) {
return chainId in chains;
}
export { chains, getChain, getRPCEnvVariable, isChainSupported };
//# sourceMappingURL=chainUtils.js.map