41 lines
1.4 KiB
Solidity
41 lines
1.4 KiB
Solidity
|
|
// 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");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|