import { toCapsSnakeCase } from "./utils"; import * as base from "@wormhole-foundation/sdk-base"; const { circleChainId, circleNetworks, circleChainMap } = base.circle; console.log( `// SPDX-License-Identifier: Apache 2 pragma solidity ^0.8.0; // This file is auto-generated by gen/cctpDomains.ts. `); if (circleNetworks[0] !== "Mainnet" || circleNetworks[1] !== "Testnet") throw new Error("circleNetworks has unexpected content"); const mainnetChains = base.column(circleChainMap[0], 0); const testnetChains = base.column(circleChainMap[1], 0); for (const chain of mainnetChains) console.log( `uint32 constant CCTP_DOMAIN_${toCapsSnakeCase(chain)} = ${circleChainId("Mainnet", chain)};` ); console.log(` // Additional Testnet mappings:`); for (const chain of testnetChains) if (!(mainnetChains as string[]).includes(chain)) console.log( `uint32 constant CCTP_DOMAIN_${toCapsSnakeCase(chain)} = ${circleChainId("Testnet", chain)};` );