// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; import {Script, console} from "forge-std/Script.sol"; import "./DeployTrustlessBridge.s.sol"; import "./DeployEnhancedSwapRouter.s.sol"; import "./DeployIntegrationContracts.s.sol"; import "./InitializeBridgeSystem.s.sol"; /** * @title DeployCompleteSystem * @notice Complete deployment script for entire bridge system * @dev Orchestrates deployment of all components in correct order */ contract DeployCompleteSystem is Script { function run() external { console.log("=== Complete Bridge System Deployment ==="); console.log("This script orchestrates deployment of all components"); console.log(""); console.log("Deployment Order:"); console.log("1. Core Bridge Contracts (DeployTrustlessBridge)"); console.log("2. Enhanced Swap Router (DeployEnhancedSwapRouter)"); console.log("3. Integration Contracts (DeployIntegrationContracts)"); console.log("4. System Initialization (InitializeBridgeSystem)"); console.log(""); console.log("Please run each deployment script separately:"); console.log(""); console.log("Step 1: Deploy core contracts"); console.log(" forge script script/bridge/trustless/DeployTrustlessBridge.s.sol:DeployTrustlessBridge \\"); console.log(" --rpc-url $ETHEREUM_MAINNET_RPC \\"); console.log(" --broadcast --via-ir --verify"); console.log(""); console.log("Step 2: Deploy enhanced router"); console.log(" forge script script/bridge/trustless/DeployEnhancedSwapRouter.s.sol:DeployEnhancedSwapRouter \\"); console.log(" --rpc-url $ETHEREUM_MAINNET_RPC \\"); console.log(" --broadcast --via-ir --verify"); console.log(""); console.log("Step 3: Deploy integration contracts"); console.log(" forge script script/bridge/trustless/DeployIntegrationContracts.s.sol:DeployIntegrationContracts \\"); console.log(" --rpc-url $ETHEREUM_MAINNET_RPC \\"); console.log(" --broadcast --via-ir --verify"); console.log(""); console.log("Step 4: Initialize system"); console.log(" forge script script/bridge/trustless/InitializeBridgeSystem.s.sol:InitializeBridgeSystem \\"); console.log(" --rpc-url $ETHEREUM_MAINNET_RPC \\"); console.log(" --broadcast --via-ir"); console.log(""); console.log("See DEPLOYMENT_GUIDE.md for detailed instructions"); } }