/** * @fileoverview Contract verification utilities for EscapeHub SDK. * * This module provides the standard JSON input for Etherscan verification * of LaunchERC20 tokens deployed via the factory. * * @module @escapehub/token-creator/verification */ /** * Standard JSON input for Etherscan contract verification. * * This is the Solidity compiler input format that includes all source files * and compiler settings needed to verify LaunchERC20 tokens on Etherscan. * * @example * ```typescript * import { STANDARD_JSON_INPUT, SOLC_VERSION, CONTRACT_NAME } from '@escapehub/token-creator'; * * // Submit to Etherscan API * const response = await fetch('https://api.etherscan.io/api', { * method: 'POST', * body: new URLSearchParams({ * module: 'contract', * action: 'verifysourcecode', * sourceCode: JSON.stringify(STANDARD_JSON_INPUT), * codeformat: 'solidity-standard-json-input', * contractname: CONTRACT_NAME, * compilerversion: SOLC_VERSION, * // ... other params * }), * }); * ``` */ export declare const STANDARD_JSON_INPUT: { language: string; sources: { "src/LaunchERC20.sol": { content: string; }; "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol": { content: string; }; "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PermitUpgradeable.sol": { content: string; }; "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { content: string; }; "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { content: string; }; "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { content: string; }; "lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol": { content: string; }; "lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/Bytes.sol": { content: string; }; "lib/openzeppelin-contracts/contracts/utils/Panic.sol": { content: string; }; }; settings: { remappings: string[]; optimizer: { enabled: boolean; runs: number; }; metadata: { useLiteralContent: boolean; bytecodeHash: string; appendCBOR: boolean; }; outputSelection: { "*": { "*": string[]; }; }; evmVersion: string; viaIR: boolean; libraries: {}; }; }; /** * Solidity compiler version used to compile LaunchERC20. * Must match when verifying on Etherscan. */ export declare const SOLC_VERSION = "v0.8.28+commit.7893614a"; /** * Contract name in the format expected by Etherscan. * Format: "path/to/Contract.sol:ContractName" */ export declare const CONTRACT_NAME = "src/LaunchERC20.sol:LaunchERC20"; /** * Etherscan API URLs for different chains. * Maps chain ID to the verification API endpoint. */ export declare const ETHERSCAN_API_URLS: Record; /** * Get the Etherscan API URL for a given chain ID. * * @param chainId - The chain ID * @returns The API URL or undefined if not supported */ export declare function getEtherscanApiUrl(chainId: number): string | undefined; //# sourceMappingURL=index.d.ts.map