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