Standardize deployment env and deployer handling

This commit is contained in:
defiQUG
2026-04-22 14:47:28 -07:00
parent 768168de5e
commit c3d4c786fa
51 changed files with 424 additions and 621 deletions

View File

@@ -8,7 +8,6 @@ set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/init.sh"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
# Load .env via dotenv (RPC CR/LF trim). Fallback: raw source.
if [[ -f "$SCRIPT_DIR/../lib/deployment/dotenv.sh" ]]; then
# shellcheck disable=SC1090
source "$SCRIPT_DIR/../lib/deployment/dotenv.sh"
@@ -25,18 +24,13 @@ elif [[ -n "${REPO_ROOT:-}" && -f "$REPO_ROOT/.env" ]]; then
set +a
fi
# Colors
# Load environment variables
if [ -f "$PROJECT_ROOT/.env" ]; then
source "$PROJECT_ROOT/.env"
else
log_error "Error: .env file not found"
exit 1
fi
log_info "=== Pre-Deployment Wallet Balance Check ==="
: "${MAINNET_ETH_REQUIRED:=25000000000000000}" # 0.025 ETH
: "${MAINNET_LINK_REQUIRED:=0}"
: "${CHAIN138_ETH_REQUIRED:=0}"
: "${CHAIN138_LINK_REQUIRED:=0}"
# Required amounts (in wei, then converted)
# Check if cast is available
@@ -46,14 +40,13 @@ if ! command -v cast &> /dev/null; then
fi
# Get wallet address from private key
if [ -z "$PRIVATE_KEY" ]; then
log_error "Error: PRIVATE_KEY not set in .env"
if ! require_private_key_env; then
exit 1
fi
WALLET_ADDRESS=$(cast wallet address --private-key "$PRIVATE_KEY" 2>/dev/null || echo "")
WALLET_ADDRESS="$(derive_deployer_address || true)"
if [ -z "$WALLET_ADDRESS" ]; then
log_error "Error: Could not derive address from PRIVATE_KEY"
log_error "ERROR: Could not derive DEPLOYER_ADDRESS from PRIVATE_KEY."
exit 1
fi
@@ -75,7 +68,15 @@ check_balance() {
# Check ERC20 token balance
balance=$(cast call "$token_address" "balanceOf(address)(uint256)" "$address" --rpc-url "$rpc_url" 2>/dev/null || echo "0")
fi
if [[ "$balance" =~ ^0x ]]; then
balance=$(cast --to-dec "$balance" 2>/dev/null || echo "0")
fi
balance="$(printf '%s' "$balance" | tr -d '\r\n[:space:]')"
if [[ -z "$balance" || ! "$balance" =~ ^[0-9]+$ ]]; then
balance="0"
fi
if [ "$balance" == "0" ] || [ -z "$balance" ]; then
balance="0"
fi
@@ -123,6 +124,7 @@ check_balance() {
# Check Mainnet balances
log_info "=== Ethereum Mainnet Balances ==="
MAINNET_RPC_URL="${MAINNET_RPC_URL:-${ETHEREUM_MAINNET_RPC:-}}"
if [ -z "$MAINNET_RPC_URL" ]; then
MAINNET_RPC_URL="https://eth.llamarpc.com"
log_warn "Using default Mainnet RPC: $MAINNET_RPC_URL"
@@ -150,8 +152,9 @@ fi
# Check ChainID 138 balances
log_info "=== ChainID 138 Balances ==="
RPC_URL="${RPC_URL:-${RPC_URL_138:-${CHAIN138_RPC_URL:-}}}"
if [ -z "$RPC_URL" ]; then
log_error "Error: RPC_URL not set in .env"
log_error "ERROR: Chain 138 RPC not available. Set RPC_URL, RPC_URL_138, or CHAIN138_RPC_URL."
exit 1
fi