Files
proxmox/scripts/deployment/deploy-cross-chain-flash-infra-chain138.sh
defiQUG dbd517b279 Sync workspace: config, docs, scripts, CI, operator rules, and submodule pointers.
- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains
- Omit embedded publish git dirs and empty placeholders from index

Made-with: Cursor
2026-04-12 06:12:20 -07:00

77 lines
2.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Deploy Chain 138 cross-chain flash infrastructure via Foundry:
# - UniversalCCIPFlashBridgeAdapter
# - CrossChainFlashRepayReceiver
# - CrossChainFlashVaultCreditReceiver
#
# Requires:
# PRIVATE_KEY
# RPC_URL_138
# UNIVERSAL_CCIP_BRIDGE or FLASH_UNIVERSAL_CCIP_BRIDGE
# CCIP_ROUTER / CCIP_ROUTER_ADDRESS / CCIP_ROUTER_CHAIN138 or FLASH_CCIP_ROUTER
#
# Optional:
# FLASH_REPAY_RECEIVER_ROUTER
# FLASH_VAULT_CREDIT_ROUTER
#
# Usage:
# source scripts/lib/load-project-env.sh
# ./scripts/deployment/deploy-cross-chain-flash-infra-chain138.sh
# ./scripts/deployment/deploy-cross-chain-flash-infra-chain138.sh --dry-run
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
SMOM="$PROJECT_ROOT/smom-dbis-138"
if [[ -f "$PROJECT_ROOT/scripts/lib/load-project-env.sh" ]]; then
# shellcheck disable=SC1091
source "$PROJECT_ROOT/scripts/lib/load-project-env.sh" 2>/dev/null || true
fi
RPC="${RPC_URL_138:-}"
if [[ -z "$RPC" ]]; then
echo "ERROR: Set RPC_URL_138 (Core Chain 138 RPC)." >&2
exit 1
fi
if [[ -z "${PRIVATE_KEY:-}" ]]; then
echo "ERROR: PRIVATE_KEY must be set." >&2
exit 1
fi
BRIDGE="${FLASH_UNIVERSAL_CCIP_BRIDGE:-${UNIVERSAL_CCIP_BRIDGE:-}}"
if [[ -z "$BRIDGE" ]]; then
echo "ERROR: Set FLASH_UNIVERSAL_CCIP_BRIDGE or UNIVERSAL_CCIP_BRIDGE." >&2
exit 1
fi
ROUTER="${FLASH_CCIP_ROUTER:-${CCIP_ROUTER:-${CCIP_ROUTER_ADDRESS:-${CCIP_ROUTER_CHAIN138:-}}}}"
if [[ -z "$ROUTER" ]]; then
echo "ERROR: Set FLASH_CCIP_ROUTER or one of CCIP_ROUTER / CCIP_ROUTER_ADDRESS / CCIP_ROUTER_CHAIN138." >&2
exit 1
fi
cd "$SMOM"
ARGS=()
if [[ "${1:-}" == "--dry-run" ]]; then
ARGS=(-vvvv)
else
ARGS=(--broadcast --with-gas-price 1000000000 --gas-estimate-multiplier 150 -vvvv)
fi
echo "RPC_URL_138=$RPC"
echo "FLASH_UNIVERSAL_CCIP_BRIDGE=$BRIDGE"
echo "FLASH_CCIP_ROUTER=$ROUTER"
if [[ -n "${FLASH_REPAY_RECEIVER_ROUTER:-}" ]]; then
echo "FLASH_REPAY_RECEIVER_ROUTER=${FLASH_REPAY_RECEIVER_ROUTER}"
fi
if [[ -n "${FLASH_VAULT_CREDIT_ROUTER:-}" ]]; then
echo "FLASH_VAULT_CREDIT_ROUTER=${FLASH_VAULT_CREDIT_ROUTER}"
fi
exec forge script script/deploy/DeployCrossChainFlashInfrastructure.s.sol:DeployCrossChainFlashInfrastructure \
--rpc-url "$RPC" "${ARGS[@]}"