- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
75 lines
2.4 KiB
Bash
Executable File
75 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Deploy all contracts in parallel where possible
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
cd "$PROJECT_ROOT"
|
|
|
|
source .env 2>/dev/null || true
|
|
|
|
RPC_URL="${RPC_URL:-http://localhost:8545}"
|
|
PRIVATE_KEY="${PRIVATE_KEY:-}"
|
|
|
|
if [ -z "$PRIVATE_KEY" ]; then
|
|
echo "Error: PRIVATE_KEY environment variable not set"
|
|
exit 1
|
|
fi
|
|
|
|
# Ensure PRIVATE_KEY has 0x prefix
|
|
if [[ ! "$PRIVATE_KEY" =~ ^0x ]]; then
|
|
export PRIVATE_KEY="0x$PRIVATE_KEY"
|
|
fi
|
|
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo "Deploy All Contracts"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo ""
|
|
echo "RPC URL: $RPC_URL"
|
|
echo ""
|
|
|
|
# Phase 1: Core Infrastructure (already deployed)
|
|
echo "✅ Phase 1: Core Infrastructure"
|
|
echo " • WETH9: Pre-deployed in genesis"
|
|
echo " • WETH10: Pre-deployed in genesis"
|
|
echo ""
|
|
|
|
# Phase 2: Utility Contracts
|
|
echo "📋 Phase 2: Utility Contracts"
|
|
echo " Deploying Multicall..."
|
|
forge script script/DeployMulticall.s.sol:DeployMulticall \
|
|
--rpc-url "$RPC_URL" \
|
|
--broadcast \
|
|
--private-key "$PRIVATE_KEY" \
|
|
--legacy -vvv 2>&1 | tail -30
|
|
|
|
# Phase 3: Oracle Contracts
|
|
echo ""
|
|
echo "📋 Phase 3: Oracle Contracts"
|
|
echo " Deploying Oracle..."
|
|
forge script script/DeployOracle.s.sol:DeployOracle \
|
|
--rpc-url "$RPC_URL" \
|
|
--broadcast \
|
|
--private-key "$PRIVATE_KEY" \
|
|
--legacy -vvv 2>&1 | tail -30
|
|
|
|
# Phase 4: Governance Contracts
|
|
echo ""
|
|
echo "📋 Phase 4: Governance Contracts"
|
|
echo " Deploying MultiSig..."
|
|
forge script script/DeployMultiSig.s.sol:DeployMultiSig \
|
|
--rpc-url "$RPC_URL" \
|
|
--broadcast \
|
|
--private-key "$PRIVATE_KEY" \
|
|
--legacy -vvv 2>&1 | tail -30
|
|
|
|
echo ""
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo "✅ Core Contracts Deployment Complete"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo ""
|
|
echo "📋 Next: Deploy CCIP infrastructure"
|
|
echo " • CCIP Router"
|
|
echo " • CCIP Sender/Receiver"
|
|
echo " • CCIP Bridges"
|