#!/usr/bin/env bash # Run deployments (Chain 138 and multichain). Nothing optional nor future — planned deployments. # Usage: # ./scripts/run-optional-deployments.sh --dry-run # print commands only (default) # ./scripts/run-optional-deployments.sh --execute # run all phases # ./scripts/run-optional-deployments.sh --execute --phases 6,7 # run only phases 6 and 7 # # Requires: smom-dbis-138/.env with PRIVATE_KEY, RPC_URL_138. # See: docs/07-ccip/OPTIONAL_DEPLOYMENTS_START_HERE.md set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" SMOM_DIR="$PROJECT_ROOT/smom-dbis-138" EXECUTE="" PHASES="" while [ $# -gt 0 ]; do case "$1" in --execute) EXECUTE=1 ;; --phases) shift; [ $# -gt 0 ] && PHASES="$1" ;; esac shift done if [ ! -d "$SMOM_DIR" ]; then echo "ERROR: smom-dbis-138 not found at $SMOM_DIR" exit 1 fi if [ -n "$EXECUTE" ] && [ ! -f "$SMOM_DIR/.env" ]; then echo "ERROR: smom-dbis-138/.env not found. Create it with PRIVATE_KEY and RPC_URL_138." exit 1 fi OPTS="--dry-run" [ -n "$EXECUTE" ] && OPTS="" [ -n "$PHASES" ] && OPTS="$OPTS --phases $PHASES" echo "============================================" echo "Deployments (smom-dbis-138) — Chain 138 and multichain" echo "Mode: $([ -n "$EXECUTE" ] && echo 'EXECUTE' || echo 'DRY-RUN (use --execute to run)')" echo "============================================" cd "$SMOM_DIR" if [ -f .env ]; then set -a; source .env; set +a; fi exec ./scripts/deployment/deploy-optional-future-all.sh $OPTS