Standardize deployment env and deployer handling
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user