Files
smom-dbis-138/scripts/deployment/phase2-deploy-core.sh
defiQUG 2b52cc6e32 refactor(archive): move historical contracts and adapters to archive directory
- Archived multiple non-EVM adapters (Algorand, Hedera, Tron, TON, Cosmos, Solana) and compliance contracts (IndyVerifier) to `archive/solidity/contracts/`.
- Updated documentation to reflect the historical status of archived components.
- Adjusted `foundry.toml` and `README.md` for clarity on historical dependencies and configurations.
- Enhanced Makefile and package.json scripts for improved contract testing and building processes.
- Removed obsolete contracts (AlltraCustomBridge, CommodityCCIPBridge, ISO4217WCCIPBridge, VaultBridgeAdapter) from the main directory.
- Updated implementation reports to indicate archived status for various components.
2026-04-12 18:21:05 -07:00

75 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Phase 2: Deploy Core Bridge Contracts
# This script deploys core bridge contracts on ChainID 138 and Ethereum
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
cd "$PROJECT_ROOT"
source "$PROJECT_ROOT/scripts/load-env.sh" >/dev/null 2>&1 || true
echo "=== Phase 2: Deploy Core Bridge Contracts ==="
# Check required variables
REQUIRED_VARS=(
"PRIVATE_KEY"
"ETHEREUM_MAINNET_RPC"
"RPC_URL_138"
"ETHERSCAN_API_KEY"
)
for var in "${REQUIRED_VARS[@]}"; do
if [ -z "${!var}" ] || [ "${!var}" == "0x..." ] || [ "${!var}" == "your_etherscan_api_key" ]; then
echo "Error: $var is not set in .env"
exit 1
fi
done
echo ""
echo "--- Deploying on ChainID 138 ---"
if [ ! -z "$RPC_URL_138" ] && [ "$RPC_URL_138" != "http://chain138.example.com:8545" ]; then
echo "Deploying Lockbox on ChainID 138..."
forge script script/bridge/trustless/DeployTrustlessBridge.s.sol:DeployTrustlessBridge \
--rpc-url "$RPC_URL_138" \
--broadcast \
--via-ir \
--private-key "$PRIVATE_KEY"
echo ""
echo "⚠️ Please save LOCKBOX_138 address to .env file"
echo " Extract from deployment output above"
else
echo "⚠️ ChainID 138 RPC not configured, skipping ChainID 138 deployment"
fi
echo ""
echo "--- Deploying on Ethereum Mainnet ---"
echo "Deploying core bridge contracts on Ethereum Mainnet..."
forge script script/bridge/trustless/DeployTrustlessBridge.s.sol:DeployTrustlessBridge \
--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 " - BOND_MANAGER"
echo " - CHALLENGE_MANAGER"
echo " - LIQUIDITY_POOL"
echo " - INBOX_ETH"
echo " - SWAP_ROUTER"
echo " - BRIDGE_SWAP_COORDINATOR"
echo ""
echo "Extract addresses from deployment output above"
echo ""
echo "=== Phase 2 Complete ==="
echo "Core bridge contracts deployed"
echo "⚠️ Remember to update .env with all contract addresses"