68 lines
3.0 KiB
Bash
68 lines
3.0 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Complete All Contract Deployments by Priority
|
||
|
|
# Run from project root. Requires: PRIVATE_KEY, network access to RPC_CORE_1 (${RPC_CORE_1:-192.168.11.211})
|
||
|
|
# Usage: set -a && source smom-dbis-138/.env && set +a && ./scripts/complete-all-contract-deployments.sh
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
|
cd "$PROJECT_ROOT"
|
||
|
|
|
||
|
|
source config/ip-addresses.conf 2>/dev/null || true
|
||
|
|
RPC="${RPC_URL_138:-http://${RPC_CORE_1:-192.168.11.211}:8545}"
|
||
|
|
|
||
|
|
if [[ -z "${PRIVATE_KEY:-}" ]]; then
|
||
|
|
echo "ERROR: PRIVATE_KEY required. source smom-dbis-138/.env first."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "=============================================="
|
||
|
|
echo "Complete Contract Deployments (Chain 138)"
|
||
|
|
echo "=============================================="
|
||
|
|
echo "RPC: $RPC"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Priority 1: CCIP WETH9 Bridge
|
||
|
|
echo ">>> Priority 1: CCIP WETH9 Bridge"
|
||
|
|
bash scripts/deploy-and-configure-weth9-bridge-chain138.sh
|
||
|
|
echo " Add printed CCIPWETH9_BRIDGE_CHAIN138 to .env"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Priority 2: Blockscout verification
|
||
|
|
echo ">>> Priority 2: Blockscout verification"
|
||
|
|
echo " Run: ./scripts/verify-contracts-blockscout.sh"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Priority 3: alltra-lifi-settlement
|
||
|
|
echo ">>> Priority 3: alltra-lifi-settlement"
|
||
|
|
if [[ -d alltra-lifi-settlement ]]; then
|
||
|
|
RELAYER="${SETTLEMENT_RELAYER_ADDRESS:-$(cast wallet address --private-key "$PRIVATE_KEY" 2>/dev/null || echo "")}"
|
||
|
|
if [[ -n "$RELAYER" ]]; then
|
||
|
|
(cd alltra-lifi-settlement && RPC_URL_138="$RPC" PRIVATE_KEY="$PRIVATE_KEY" SETTLEMENT_RELAYER_ADDRESS="$RELAYER" forge script scripts/deploy/deploy-merchant-settlement-registry.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1) || echo " MerchantSettlementRegistry: check logs"
|
||
|
|
source smom-dbis-138/.env 2>/dev/null || true
|
||
|
|
if [[ -n "${COMPLIANT_USDC_ADDRESS:-}" ]] && [[ -n "${WITHDRAWAL_RELAYER_ADDRESS:-}" ]]; then
|
||
|
|
(cd alltra-lifi-settlement && forge script scripts/deploy/deploy-withdrawal-escrow.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1) || echo " WithdrawalEscrow: check logs"
|
||
|
|
else
|
||
|
|
echo " WithdrawalEscrow: set COMPLIANT_USDC_ADDRESS, WITHDRAWAL_RELAYER_ADDRESS in .env"
|
||
|
|
fi
|
||
|
|
else
|
||
|
|
echo " Set SETTLEMENT_RELAYER_ADDRESS"
|
||
|
|
fi
|
||
|
|
else
|
||
|
|
echo " alltra-lifi-settlement not found"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Priority 4: Phased core
|
||
|
|
echo ">>> Priority 4: Phased core (UniversalAssetRegistry, UniversalCCIPBridge)"
|
||
|
|
cd smom-dbis-138
|
||
|
|
forge script script/deploy/01_DeployCore.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1 || echo " 01_DeployCore: check deps"
|
||
|
|
echo " Update .env with UNIVERSAL_ASSET_REGISTRY, GOVERNANCE_CONTROLLER from output"
|
||
|
|
forge script script/deploy/02_DeployBridges.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1 || echo " 02_DeployBridges: check deps"
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "=============================================="
|
||
|
|
echo "Done. Run verify-contracts-blockscout.sh next."
|
||
|
|
echo "=============================================="
|