#!/usr/bin/env bash set -e # Deploy CCIP Router Contract # This script deploys the CCIP Router contract to the network SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/../lib/init.sh" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" # Load environment variables if [ -f "$PROJECT_ROOT/.env" ]; then source "$PROJECT_ROOT/.env" fi # Configuration RPC_URL="${RPC_URL:-http://localhost:8545}" PRIVATE_KEY="${PRIVATE_KEY:-}" FEE_TOKEN="${FEE_TOKEN:-}" # LINK token address BASE_FEE="${BASE_FEE:-1000000000000000000}" # 1 LINK in wei DATA_FEE_PER_BYTE="${DATA_FEE_PER_BYTE:-1000000000000000}" # 0.001 LINK per byte if [ -z "$PRIVATE_KEY" ]; then echo "Error: PRIVATE_KEY environment variable not set" exit 1 fi if [ -z "$FEE_TOKEN" ]; then echo "Error: FEE_TOKEN environment variable not set (LINK token address)" exit 1 fi echo "Deploying CCIP Router..." echo "RPC URL: $RPC_URL" echo "Fee Token: $FEE_TOKEN" echo "Base Fee: $BASE_FEE" echo "Data Fee Per Byte: $DATA_FEE_PER_BYTE" # Deploy using Foundry cd "$PROJECT_ROOT" forge script script/DeployCCIPRouter.s.sol \ --rpc-url "$RPC_URL" \ --broadcast \ --private-key "$PRIVATE_KEY" \ --sig "run(address,uint256,uint256)" \ "$FEE_TOKEN" \ "$BASE_FEE" \ "$DATA_FEE_PER_BYTE" echo "CCIP Router deployment complete!"