// 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");
    }
}

