// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; import {Script, console} from "forge-std/Script.sol"; import {CCIPRouter} from "../contracts/ccip/CCIPRouter.sol"; contract DeployCCIPRouter is Script { function run() external { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); address deployer = vm.addr(deployerPrivateKey); // Load from environment or use defaults address feeToken = vm.envOr("CCIP_FEE_TOKEN", address(0)); uint256 baseFee = vm.envOr("CCIP_BASE_FEE", uint256(0)); uint256 dataFeePerByte = vm.envOr("CCIP_DATA_FEE_PER_BYTE", uint256(0)); console.log("Deploying CCIPRouter with deployer:", vm.toString(deployer)); console.log("Fee Token:", vm.toString(feeToken)); console.log("Base Fee:", baseFee); console.log("Data Fee Per Byte:", dataFeePerByte); vm.startBroadcast(deployerPrivateKey); CCIPRouter router = new CCIPRouter(feeToken, baseFee, dataFeePerByte); console.log("CCIP Router deployed at:", vm.toString(address(router))); vm.stopBroadcast(); console.log("\n=== Deployment Summary ==="); console.log("CCIP Router:", vm.toString(address(router))); console.log("Fee Token:", vm.toString(feeToken)); console.log("Base Fee:", baseFee); console.log("Data Fee Per Byte:", dataFeePerByte); } }