// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; import {Script, console} from "forge-std/Script.sol"; import {MockLinkToken} from "../contracts/tokens/MockLinkToken.sol"; /** * @title Deploy Mock LINK Token * @notice Deploy a mock LINK token for testing and development */ contract DeployMockLinkToken is Script { function run() external { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); address deployer = vm.addr(deployerPrivateKey); console.log("Deploying Mock LINK Token with address:", deployer); vm.startBroadcast(deployerPrivateKey); MockLinkToken linkToken = new MockLinkToken(); console.log("Mock LINK Token deployed at:", address(linkToken)); console.log("Name:", linkToken.name()); console.log("Symbol:", linkToken.symbol()); console.log("Decimals:", linkToken.decimals()); // Mint initial supply to deployer (optional) uint256 initialSupply = 1000000e18; // 1M LINK linkToken.mint(deployer, initialSupply); console.log("Minted", initialSupply / 1e18, "LINK to deployer"); vm.stopBroadcast(); console.log("\n=== Deployment Summary ==="); console.log("Mock LINK Token:", address(linkToken)); console.log("Deployer:", deployer); console.log("Initial Supply:", initialSupply / 1e18, "LINK"); } }