52 lines
2.5 KiB
Solidity
52 lines
2.5 KiB
Solidity
|
|
// 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");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|