// 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");
    }
}

