#!/bin/bash # Phase 4: Deploy Integration Contracts # This script deploys peg managers and reserve coordinator set -e echo "=== Phase 4: Deploy Integration Contracts ===" # Load environment variables if [ -f .env ]; then export $(cat .env | grep -v '^#' | grep -v '^$' | xargs) fi # Check required variables REQUIRED_VARS=( "PRIVATE_KEY" "ETHEREUM_MAINNET_RPC" "ETHERSCAN_API_KEY" "BRIDGE_SWAP_COORDINATOR" "RESERVE_SYSTEM" ) for var in "${REQUIRED_VARS[@]}"; do if [ -z "${!var}" ] || [ "${!var}" == "0x..." ]; then echo "Error: $var is not set in .env" exit 1 fi done echo "" echo "--- Deploying Integration Contracts ---" forge script script/bridge/trustless/DeployIntegrationContracts.s.sol:DeployIntegrationContracts \ --rpc-url "$ETHEREUM_MAINNET_RPC" \ --broadcast \ --via-ir \ --verify \ --etherscan-api-key "$ETHERSCAN_API_KEY" \ --private-key "$PRIVATE_KEY" echo "" echo "⚠️ Please save all deployed addresses to .env file:" echo " - STABLECOIN_PEG_MANAGER" echo " - COMMODITY_PEG_MANAGER" echo " - ISO_CURRENCY_MANAGER" echo " - BRIDGE_RESERVE_COORDINATOR" echo "" echo "Extract addresses from deployment output above" echo "" echo "=== Phase 4 Complete ===" echo "Integration contracts deployed" echo "⚠️ Remember to update .env with all contract addresses"